博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDOJ(HDU) 1563 Find your present!(异或)
阅读量:5886 次
发布时间:2019-06-19

本文共 1688 字,大约阅读时间需要 5 分钟。

Problem Description

In the new year party, everybody will get a “special present”.Now it’s your turn to get your special present, a lot of presents now putting on the desk, and only one of them will be yours.Each present has a card number on it, and your present’s card number will be the one that different from all the others.For example, there are 5 present, and their card numbers are 1, 2, 3, 2, 1.so your present will be the one with the card number of 3, because 3 is the number that different from all the others.

Input

The input file will consist of several cases.
Each case will be presented by an integer n (1<=n<=200, and n is odd) at first. Following that, n positive integers will be given in a line. These numbers indicate the card numbers of the presents.n = 0 ends the input.

Output

For each case, output an integer in a line, which is the card number of your present.

Sample Input

5
1 1 3 2 2
3
1 2 1
0

Sample Output

3
2

题意:找出一行数中独立的数!

按位异或的3个特点:

(1) 0^0=0,0^1=1 0异或任何数=任何数
(2) 1^0=1,1^1=0 1异或任何数-任何数取反
(3) 任何数异或自己=把自己置0

先说一下异或运算的运算法则:

1. a ^ b = b ^ a
2. a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c
3. d = a ^ b ^ c 可以推出 a = d ^ b ^ c
4. a ^ b ^ a = b

对于性质1,显而易见。

对于性质2和4,就是可以查找出一组数列中具有奇数个数的数。比如:
题目:有2n+1个数,其中有n个数出现过两次,只有一个数字出现过一次。要求是找出这个数字。

import java.util.Scanner;public class Main{    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        while(sc.hasNext()){            int n =sc.nextInt();            if(n==0){                return ;            }            int m =0;            int s;            while(n-->0){                s = sc.nextInt();                m = m^s;            }            System.out.println(m);        }    }}

转载地址:http://gvmix.baihongyu.com/

你可能感兴趣的文章
exchange 中继
查看>>
电脑蓝屏修复过程
查看>>
vmware ESXI 之重新注册虚拟机
查看>>
Apache Zeppelin安装及使用
查看>>
外网无法访问云主机HDFS文件系统
查看>>
hovercard头像悬浮卡效果
查看>>
mysql5.7.18安装
查看>>
进程间通信(共享内存),五种通信方式简单总结
查看>>
NAT技术和代理服务器
查看>>
xmanager远程连接linux配置
查看>>
Linux下Tomcat启动报Can't connect to X11 window server
查看>>
真正从零开始,TensorFlow详细安装入门图文教程!
查看>>
PHP 中 $_FILES
查看>>
spring IOC
查看>>
linux内核升级
查看>>
Linux下vmstat结果详解
查看>>
USE_HASH
查看>>
Linux Eclipse美化:解决工具栏过大和 Javadoc背景色修改
查看>>
Jeesite中shiro的用法讲解
查看>>
svn钩子
查看>>