HDU-2095 find your present (2) 按位异或求解

  题目是给定一个数字串,求出这些数字串中哪些出现的次数是奇数次,所以运用按位异或就能够直接将出现偶数次的数字抵消掉。不加输入外挂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 );
    }
}
posted @   沐阳  阅读(314)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 使用 Dify + LLM 构建精确任务处理应用
点击右上角即可分享
微信分享提示