您的位置:首页 > 编程语言 > C语言/C++

找出两个只出现了一次的数字

2013-12-03 19:18 197 查看
题目1256:找出两个只出现了一次的数字时间限制:1 秒内存限制:32 兆特殊判题:否提交:140解决:69题目描述:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。输入:输入的第一行包括一个整数N(1<=N<=1000)。接下来的一行包括N个整数。输出:可能有多组测试数据,对于每组数据,找出这个数组中的两个只出现了一次的数字。输出的数字的顺序为从小到大。样例输入:
6
2 3 9 3 7 2
样例输出:
7 9
#include<cstdio>#include<vector>#include<algorithm>using namespace std;int main(){bool b;int n,i,f;vector<int> v;while(scanf("%d",&n)!=EOF&&n){while(n--){scanf("%d",&i);v.push_back(i);}sort(v.begin(),v.end());for(i=0,n=v.size()-1,b=false; i<n; ){if(v[i]==v[i+1])i+=2;else{if(!b){ printf("%d",v[i]); ++i; b=true; }else { printf(" %d\n",v[i]); b=false; break; }}}if(b) printf(" %d\n",v);v.clear();}return 0;}/**************************************************************Problem: 1256User: 3011216016Language: C++Result: AcceptedTime:730 msMemory:1024 kb****************************************************************/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  acm c++
相关文章推荐