joj 2653 不同的数 从2*n中找出不相同的两个数
2011-08-25 20:58
309 查看
2653: 不同的数
原来有n对数字,每对两个数字都相同。现在其中某对数字中的一个发生了变化。并且所有数字被打乱了顺序。求这一对数字变化后是多少。要求先输出小的。再输出大的。
//
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n;
int sum0[33],sum1[33];
int main()
{
while(scanf("%d",&n)==1&&n)
{
n<<=1;
memset(sum0,0,sizeof(sum0));
memset(sum1,0,sizeof(sum1));
for(int i=0;i<n;i++)
{
int t;scanf("%d",&t);//t>0
for(int j=0;j<32;j++)
{
if(t&(1<<j)) sum1[j]^=t;
else sum0[j]^=t;
}
}
for(int i=0;i<32;i++)
{
if(sum0[i]&&sum1[i])
{
int rmax=max(sum0[i],sum1[i]);
int rmin=min(sum0[i],sum1[i]);
printf("%d %d\n",rmin,rmax);
break;
}
}
}
return 0;
}
Result | TIME Limit | MEMORY Limit | Run Times | AC Times | JUDGE |
---|---|---|---|---|---|
3s | 65536K | 387 | 78 | Standard |
Input
多组输入,每组如下:第一行一个数字n, n <= 1000000 以下2n行,每行一个数字,打乱顺序后的所有数字。 n=0表示输入结束。Output
每组一行。两个数字。表示发生变化后的一组。Sample Input
3 1 2 3 2 2 3 0
Sample Output
1 2
//
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n;
int sum0[33],sum1[33];
int main()
{
while(scanf("%d",&n)==1&&n)
{
n<<=1;
memset(sum0,0,sizeof(sum0));
memset(sum1,0,sizeof(sum1));
for(int i=0;i<n;i++)
{
int t;scanf("%d",&t);//t>0
for(int j=0;j<32;j++)
{
if(t&(1<<j)) sum1[j]^=t;
else sum0[j]^=t;
}
}
for(int i=0;i<32;i++)
{
if(sum0[i]&&sum1[i])
{
int rmax=max(sum0[i],sum1[i]);
int rmin=min(sum0[i],sum1[i]);
printf("%d %d\n",rmin,rmax);
break;
}
}
}
return 0;
}
相关文章推荐
- 有个数组a[100]存放了100个数,这100个数取自1-99,且只有两个相同的数,剩下的98个数不同,写一个搜索算法找出相同的那个数的值.(注意空间效率时间效率尽可能要低)
- 给定一个正整数,找出与其二进制表示中1的个数相同,且大小最接近的那两个数
- C#比较二个数组并找出相同或不同元素的方法
- 找出list中的不同元素、删除两个list中相同的对象
- java找出2个集合相同和不同的元素(以及去除List中的重复元素)
- 找出二进制表示中1的个数相同,且大小最接近的那两个数
- mysql两个表结构相同,如何找出它们的不同记录方法[left join].
- 12个球,外形相同,其中有一个球重量与其余11球不同,如何使用天平尽量少次数的测量找出这个小球且判别它比正常球轻还是重
- 两中方式找出Excel中相同和不同的数据
- java找出2个集合相同和不同的元素(以及去除List中的重复元素)
- 找出两文件中相同的行,两文件不同的行,文件1有文件2没有的行
- 快速找出List集合的相同与不同元素集合
- 9.5位操作(三)——给定一个正整数,找出与其二进制表示中1的个数相同,且大小最接近的那两个数
- 两个有序整形数组找出二者相同的元素和不同的元素
- 俩种方式找出Excel中相同和不同的数据
- 在一个大数组中有且仅有两个数相同,怎样尽快找出这两个数(未完成)
- EXCELL中怎么将两列数据对比,找出相同的和不同的数据?
- 比较二个数组,找出"相同"或"不同"元素
- 如何Excel中找出不同两列的相同值
- 找出两个文件内容的相同与不同