题目是给定一个数字串,求出这些数字串中哪些出现的次数是奇数次,所以运用按位异或就能够直接将出现偶数次的数字抵消掉。不加输入外挂G++ 500MS+加了之后62MS
代码如下:
#include <stdio.h>
void getint( int &c )
{
char chr;
while( chr= getchar(), chr< '0'|| chr> '9' ) ;
c= chr- '0';
while( chr= getchar(), chr>= '0'&& chr<= '9' )
{
c=c* 10+ chr- '0';
}
}
int main()
{
int N;
while( getint( N ), N )
{
int temp= 0;
for( int i= 1; i<= N; ++i )
{
int c;
getint( c );
temp^= c;
}
printf( "%d\n", temp );
}
}