说明
[问题描述]
XX大学里一共有N个学生,某一天有一男一女两个同学私奔了~为了排查到底是哪两个同学,校长让所有在校的同学都去报到,并且签下自己的学号。校长让你写一个程序,计算到底是哪两个同学私奔了呢?
[输入格式]
第1行为整数N(N<=100000)。以后N-2个整数(均用空格隔开)表示了剩下N-2个同学的学号。学号是从1…N连续编号的。
[输出格式]
一行,按学号从小到大顺序输出两个私奔同学的编号。两个数字之间用一个空格隔开。
[样例输入]
6
4 3 1 5
[样例输出]
2 6
[代码]
#include <bits/stdc++.h>
using namespace std;
long long a, n[100005];
const int d=100007;
int main() {
scanf("%lld", &a);
for (int i=0;i<a-2;i++) {
scanf("%lld", &n[i]);
}
sort(n,n+a-2);
bool s[d]={false};
for (int i=0;i<a-2;i++) {
s[n[i]]=true;
}
for (int i=1;i<=a;i++) {
if (!s[i]) {
printf("%d ",i);
}
}
return 0;
}
1394

被折叠的 条评论
为什么被折叠?



