描写叙述
L不但喜欢收集邮票,并且还喜欢成对的收集每一种邮票。为了防止混乱,他用一个正整数对每一种邮票进行编号。然而,有一天他却丢失了某两张邮票。已知这两张邮票属于不同的类型,即它们的编号不一样。L希望你能帮他找到这两张丢失邮票的编号。
输入
每一个測试数据的输入第一行是一个正整数n(4<=n<=1000000),表示原来L拥有邮票的张数接下去有n-2行,每一行一个正整数x(1<=x<=2^31-1),表示邮票的编号。
输出
每一个測试数据的输出仅仅有一行,两个正整数,表示丢失邮票的编号,小的编号在前,两个整数之间用一个空格分开。
例子输入
6
101
2
100
2
101
2
100
2
例子输出
100 101
#include <iostream> #include <algorithm> #include <stdio.h> using namespace std; long long a[1000005],x[5]; int main() { long long n,j,t; while(~scanf("%I64d",&n)) { j=0; for(int i=0;i<n-2;i++) scanf("%I64d",&a[i]); sort(a,a+n-2); for(int i=0;i<n-3;) { t=0; if(a[i]!=a[i+1]) { if(i!=0){ x[j++]=a[i]; i++; t=1; } else { x[j++]=a[i]; i++; t=1; } } if(!t)i+=2; } if(j==1)x[j]=a[n-3]; printf("%I64d %I64d ",x[0],x[1]); } return 0; }