在一连串不定长的数字中找出断号和重号的输出
数据保证只有唯一解
1 #include <iostream> 2 #include <algorithm> 3 using namespace std; 4 const int N=1e5+10; 5 int ID[N],cnt,Bucket[N],MaxID=0,MinID=2147483647; 6 int main(){ 7 int n;cin>>n; 8 while(scanf("%d",&ID[++cnt])!=EOF){ 9 Bucket[ID[cnt]]++; 10 MaxID=max(MaxID,ID[cnt]); 11 MinID=min(MinID,ID[cnt]); 12 } 13 for(int i=MinID;i<=MaxID;i++)if(Bucket[i]==0)printf("%d ",i); 14 for(int i=MinID;i<=MaxID;i++)if(Bucket[i]==2)printf("%d ",i); 15 return 0; 16 }