我試了兩種版本,可是都錯,為什麼?
三點共線,不就是面積為零嗎??
第一種:不考慮火有沒有在起點到中點之間
#include<iostream>
using namespace std;
int main(){
int x1, y1, x2, y2, x3, y3, k;
while(cin >> k){
for(;k>0;k--){
cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
if(x1*y2+x2*y3+x3*y1-x2*y1-x3*y2-x1*y3==0)
cout << "該死的東西!竟敢想讓我死!" << endl;
else
cout << "父親大人!母親大人!我快到了!" << endl;
}
}
return 0;
}
第二種:考慮火有沒有在起點到中點之間
#include<iostream>
using namespace std;
int main(){
int x1, y1, x2, y2, x3, y3, k;
while(cin >> k){
for(;k>0;k--){
cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
if(x1>=x3&&x3>=x2&&y1>=y3&&y3>=y2){
if(x1*y2+x2*y3+x3*y1-x2*y1-x3*y2-x1*y3==0)
cout << "該死的東西!竟敢想讓我死!" << endl;
else
cout << "父親大人!母親大人!我快到了!" << endl;
}
else cout << "父親大人!母親大人!我快到了!" << endl;
}
}
return 0;
}
請您幫我看看好嗎?謝謝~
我試了兩種版本,可是都錯,為什麼?
三點共線,不就是面積為零嗎??
考慮火有沒有在起點到中點之間#include
using namespace std;
int main(){
int x1, y1, x2, y2, x3, y3, k;
while(cin >> k){
for(;k>0;k--){
cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
if(x1>=x3&&x3>=x2&&y1>=y3&&y3>=y2){
if(x1*y2+x2*y3+x3*y1-x2*y1-x3*y2-x1*y3==0)
cout << "該死的東西!竟敢想讓我死!" << endl;
else
cout << "父親大人!母親大人!我快到了!" << endl;
}
else cout << "父親大人!母親大人!我快到了!" << endl;
}
}
return 0;
}
請您幫我看看好嗎?謝謝~
第一種的公式我都快忘了~哈哈
看到還愣了好久
公式的部分應該沒問題
問題在第二部份考慮火有沒有在起點到中點之間
if(x1>=x3&&x3>=x2&&y1>=y3&&y3>=y2)
有X1>=X3>=X2 或 X2>=X3>=X1兩種可能
y也一樣