結果
問題 | No.55 正方形を描くだけの簡単なお仕事です。 |
ユーザー |
![]() |
提出日時 | 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;elsecout<<-1<<endl;}