結果

問題 No.55 正方形を描くだけの簡単なお仕事です。
ユーザー tetsuzuki1115
提出日時 2018-01-15 15:52:43
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
AC  
実行時間 2 ms / 5,000 ms
コード長 1,226 bytes
コンパイル時間 705 ms
コンパイル使用メモリ 81,448 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-12-24 02:36:32
合計ジャッジ時間 1,494 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 21
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <vector>
#include <string>
#include <cstring>
#include <math.h>
#include <cmath>
#include <limits.h>
#include <map>
#include <set>
#include <queue>
#include <algorithm>
#include <functional>
#include <stdio.h>
using namespace std;

long long MOD = 1000000007;

int main() {
    
    int X[3], Y[3];
    for ( int i = 0; i < 3; i++ ) {
        cin >> X[i] >> Y[i];
    }
    vector<int> V = {0,1,2};
    
    do {
        
        int d1 = ( X[V[0]]-X[V[1]] ) * ( X[V[0]]-X[V[1]] ) + ( Y[V[0]]-Y[V[1]] ) * ( Y[V[0]]-Y[V[1]] );
        int d2 = ( X[V[1]]-X[V[2]] ) * ( X[V[1]]-X[V[2]] ) + ( Y[V[1]]-Y[V[2]] ) * ( Y[V[1]]-Y[V[2]] );
        
        if ( d1 != d2 )  { continue; }
        
        int ip = ( X[V[0]]-X[V[1]] ) * ( X[V[1]]-X[V[2]] ) + ( Y[V[0]]-Y[V[1]] ) * ( Y[V[1]]-Y[V[2]] );
        
        if ( ip != 0 ) { continue; }
        
        int x = X[V[2]] + X[V[0]]-X[V[1]];
        int y = Y[V[2]] + Y[V[0]]-Y[V[1]];
         if ( x + X[V[1]]-X[V[2]] == X[V[0]] && y + Y[V[1]]-Y[V[2]] == Y[V[0]] ) {
             cout << x << " " << y << endl; return 0;
         }
        
    } while ( next_permutation( V.begin(), V.end() ) );
    
    cout << -1 << endl;
    
    return 0;
}


0