結果

問題 No.55 正方形を描くだけの簡単なお仕事です。
ユーザー ku_material_ro
提出日時 2016-09-28 17:37:47
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
AC  
実行時間 2 ms / 5,000 ms
コード長 1,051 bytes
コンパイル時間 612 ms
コンパイル使用メモリ 62,208 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-11-21 08:02:43
合計ジャッジ時間 1,499 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 21
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<iostream>
#include<string>
#include<math.h>
#include<algorithm>
using namespace std;


int main(){
	int x[3];
	int y[3];
	int ansx, ansy;
	int a1, a2;
	int n, m, l;
	int flug = 0;
	cin >> x[0] >> y[0] >> x[1] >> y[1] >> x[2] >> y[2];
	for (int i = 0; i < 3; i++){
		//cout << i << endl;
		if(i == 0){
			n = 0;
			m = 1;
			l = 2;
		}if (i == 1){
			n = 1;
			m = 2;
			l = 0;
		}
		if (i == 2) {
			n = 2;
			m = 0;
			l = 1;
		}
		if ((y[n] - y[m]) != 0 && (y[m] - y[l]) != 0){
			a1 = ((x[n] - x[m])*(x[m] - x[l])) / ((y[n] - y[m])*(y[m] - y[l]));
			if (a1 == -1){
				flug = 1;
				break;
			}
		}
		else{
			if ((x[m] == x[n] && y[m] == y[l]) || (x[m] == x[l] && y[m] == y[n])){
				flug = 1;
				//cout << "test" << endl;
				break;
			}
		}
		
		
		
	}
	ansx = x[l] - (x[m] - x[n]);
	ansy = y[l] - (y[m] - y[n]);
	if (pow((x[m] - x[n]), 2) + pow((y[m] - y[n]), 2) != pow((x[m] - x[l]), 2) + pow((y[m] - y[l]), 2)){
		flug = 0;
	}
	if (flug == 1){
		cout << ansx <<" "<< ansy << endl;
	}
	else{
		cout << "-1" << endl;
	}
	return 0;
}
0