頑張ってガリガリ計算した。解説を見て、後悔して書き直した。
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 件のコメント :
コメントを投稿