頑張ってガリガリ計算した。解説を見て、後悔して書き直した。
class Segments {
public:
string intersection(vector <int> s1, vector <int> s2) {
string r;
int left = max( min(s1[0], s1[2]), min(s2[0], s2[2]) );
int right = min( max(s1[0], s1[2]), max(s2[0], s2[2]) );
int top = max( min(s1[1], s1[3]), min(s2[1], s2[3]) );
int bottom = min( max(s1[1], s1[3]), max(s2[1], s2[3]) );
if(bottom < top || right < left)r = "NO";
else if(top == bottom && left == right)r = "POINT";
else r = "SEGMENT";
return r;
}
};
500こういうの大嫌いだわー
0 件のコメント :
コメントを投稿