結果
問題 | No.55 正方形を描くだけの簡単なお仕事です。 |
ユーザー |
|
提出日時 | 2015-05-15 08:09:53 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 855 bytes |
コンパイル時間 | 1,316 ms |
コンパイル使用メモリ | 159,488 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-14 13:49:44 |
合計ジャッジ時間 | 2,095 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 21 |
ソースコード
#include "bits/stdc++.h" using namespace std; typedef long long Int; #define REP(i,n) for(int (i)=0;(i)<(int)(n);++(i)) bool found; int ansx; int ansy; int dd(int x, int y) { return x * x + y * y; } void f(int x0, int y0, int x1, int y1, int x2, int y2) { int dx1 = x1 - x0; int dy1 = y1 - y0; int dx2 = x2 - x0; int dy2 = y2 - y0; int dd1 = dd(dx1, dy1); int dd2 = dd(dx2, dy2); if (dd1 > 0 && dd2 > 0 && dd1 == dd2) { if (dx1 * dx2 + dy1 * dy2 == 0) { found = true; int x3 = x0 + dx1 + dx2; int y3 = y0 + dy1 + dy2; ansx = x3; ansy = y3; } } } int main() { int X1, X2, X3; int Y1, Y2, Y3; cin >> X1 >> Y1; cin >> X2 >> Y2; cin >> X3 >> Y3; f(X1, Y1, X2, Y2, X3, Y3); f(X2, Y2, X3, Y3, X1, Y1); f(X3, Y3, X1, Y1, X2, Y2); if (found) { cout << ansx << " " << ansy << endl; } else { cout << -1 << endl; } }