题目
题解思路
由于要判断的矩形是平行于坐标轴的,所以我们可以先根据这些点确定出这个矩形,然后判断剩余点是否在这个矩形上。
代码
#include <bits/stdc++.h>
using namespace std;
// Complete the solve function below.
string solve(vector<vector<int>> coordinates) {
int maxmx=-100000,minmx=100000,maxmy=-100000,minmy=100000;
for(auto it:coordinates)
{
maxmx = max(maxmx,it[0]);
minmx = min(minmx,it[0]);
maxmy = max(maxmy,it[1]);
minmy = min(minmy,it[1]);
}
for(auto it:coordinates)
{
if(it[0]!=maxmx && it[0]!=minmx && it[1]!=minmy && it[1]!=maxmy) return "NO";
}
return "YES";
}
int main()
{
int q;
cin >> q;
for (int q_itr = 0; q_itr < q; q_itr++) {
int n;
cin >> n;
vector<vector<int>> coordinates(n);
for (int i = 0; i < n; i++) {
coordinates[i].resize(2);
for (int j = 0; j < 2; j++) {
cin >> coordinates[i][j];
}
}
string result = solve(coordinates);
cout << result << "\n";
}
return 0;
}