NC53584. Forsaken喜欢正方形
描述
输入描述
输入有四行,每行一个二维坐标
输出描述
按题面给定输出。
示例1
输入:
0 0 0 1 1 1 1 0
输出:
wen
C++14(g++5.4) 解法, 执行用时: 4ms, 内存消耗: 488K, 提交时间: 2019-11-22 22:20:45
#include<bits/stdc++.h> #include<vector> using namespace std; int d[4][2] = {1,0,0,1,0,-1,-1,0}; int x[10],y[10]; bool check() { vector<int> v; for(int i = 0; i < 4; i++) for(int j = i + 1;j < 4; j++) { int k = (x[i] - x[j])*(x[i] - x[j]) +(y[i] - y[j])*(y[i] - y[j]); v.push_back(k); } sort(v.begin(),v.end()); if(v[0]==v[3]&&v[4]==v[5])return 1; return 0; } int main() { for(int i = 0; i <4; i++) cin>>x[i]>>y[i]; // for(int j = 1; j <=4; j++) if(check()) { puts("wen"); return 0; } for(int i = 0; i <4; i++) { for(int j = 0; j < 4; j++) { x[i]+=d[j][1],y[i]+=d[j][0]; if(check()) { puts("hai xing"); return 0; } x[i]-=d[j][1],y[i]-=d[j][0];; } } puts("wo jue de bu xing"); return 0; }
C++(clang++ 11.0.1) 解法, 执行用时: 3ms, 内存消耗: 408K, 提交时间: 2023-03-18 16:12:10
#include<iostream> #include<cstring> #include<algorithm> #include<cmath> using namespace std; int x[10], y[10]; int sum[10]; int main() { int m, n,x,y, ans1 = 0, ans2 = 0; for (int i = 0; i < 4; i++) { cin >> x >> y; sum[i] = x+y; } sort(sum, sum + 4); if (sum[0] + sum[3] == sum[1] + sum[2]) cout << "wen"; else if (abs(sum[0] + sum[3] - sum[1] - sum[2]) == 1) cout << "hai xing"; else cout << "wo jue de bu xing"; return 0; }