NC15808. 任意点
描述
输入描述
第一行一个整数n表示点数( 1 <= n <= 100)。
第二行n行,每行两个整数xi, yi表示坐标( 1 <= xi, yi <= 1000)。
y轴正方向为北,x轴正方形为东。
输出描述
输出一个整数表示最少需要加的点的数目。
示例1
输入:
2 2 1 1 2
输出:
1
示例2
输入:
2 2 1 4 1
输出:
0
C++(g++ 7.5.0) 解法, 执行用时: 3ms, 内存消耗: 452K, 提交时间: 2023-08-01 18:04:04
#include<bits/stdc++.h> using namespace std; int x[1005],y[1005]; int main(){ int n,x1,y1,ans=0; cin >> n; while(n--){ cin>>x1>>y1; if(!x[x1]&&!y[y1]) ans++; if(x[x1]&&y[y1]) ans--; x[x1]++,y[y1]++; } cout<<ans-1<<endl; return 0; }
C++ 解法, 执行用时: 8ms, 内存消耗: 504K, 提交时间: 2021-05-27 19:11:16
#include<bits/stdc++.h> using namespace std; int x[1005],y[1005]; int main(){ int n,x1,y1,ans=0; cin >> n; while(n--){ cin>>x1>>y1; if(!x[x1]&&!y[y1]) ans++; if(x[x1]&&y[y1]) ans--; x[x1]++,y[y1]++; } cout<<ans-1<<endl; }