結果
| 問題 |
No.55 正方形を描くだけの簡単なお仕事です。
|
| コンテスト | |
| ユーザー |
hogeover30
|
| 提出日時 | 2015-02-04 07:09:06 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 5,000 ms |
| コード長 | 818 bytes |
| コンパイル時間 | 557 ms |
| コンパイル使用メモリ | 56,640 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-11-14 13:48:13 |
| 合計ジャッジ時間 | 1,330 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 21 |
ソースコード
#include <iostream>
using namespace std;
int d(int x, int y, int a, int b) { return (x-a)*(x-a)+(y-b)*(y-b); }
int main()
{
int x[4], y[4];
for(int i=0;i<3;++i) cin>>x[i]>>y[i];
int a=d(x[0], y[0], x[1], y[1]);
int b=d(x[0], y[0], x[2], y[2]);
if (a>b) { swap(x[1], x[2]); swap(y[1], y[2]); swap(a, b); }
const int inf=10000;
int resX=inf, resY=inf;
for(int i=-200;i<201;++i) for(int j=-200;j<201;++j) {
int p=d(x[0], y[0], i, j);
int q=d(x[1], y[1], i, j);
int r=d(x[2], y[2], i, j);
if (a==b) {
if (q==a and r==a and p==q+r) { resX=i, resY=j; }
}
else {
if (p==a and r==a and q==p+r) { resX=i, resY=j; }
}
}
if (resX<inf)
cout<<resX<<' '<<resY<<endl;
else
cout<<-1<<endl;
}
hogeover30