結果

問題 No.55 正方形を描くだけの簡単なお仕事です。
ユーザー NotationNap
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

#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;
	}
}
0