zoukankan      html  css  js  c++  java
  • HDOJ(HDU) 1563 Find your present!(异或)

    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);
            }
        }
    }
    
  • 相关阅读:
    jenkins+tomcat+python+pytest的web自动化化部署
    windows的jenkins+tomcat工作目录配置(这个要安装前就提前确定好,这种方法会导致整个jenkins重置)
    pytest xunit2 in pytest6.0
    Jenkins基本配置一
    React生命周期函数的使用场景
    React中的生命周期函数(老版本V16.0之前)
    React中ref的使用
    React中setState注意事项
    React之虚拟DOM中的Diff算法
    React之深入了解虚拟DOM
  • 原文地址:https://www.cnblogs.com/webmen/p/5739288.html
Copyright © 2011-2022 走看看