zoukankan      html  css  js  c++  java
  • Write and Erase

    You are playing the following game with Joisino.

    • Initially, you have a blank sheet of paper.
    • Joisino announces a number. If that number is written on the sheet, erase the number from the sheet; if not, write the number on the sheet. This process is repeated N times.
    • Then, you are asked a question: How many numbers are written on the sheet now?

    The numbers announced by Joisino are given as A1,…,AN in the order she announces them. How many numbers will be written on the sheet at the end of the game?

    Constraints

     

    • 1≤N≤100000
    • 1≤Ai≤1000000000(=109)
    • All input values are integers.

    Input

     

    Input is given from Standard Input in the following format:

    N
    A1
    :
    AN
    

    Output

     

    Print how many numbers will be written on the sheet at the end of the game.

    Sample Input 1

     

    3
    6
    2
    6
    

    Sample Output 1

     

    1
    

    The game proceeds as follows:

    • 6 is not written on the sheet, so write 6.

    • 2 is not written on the sheet, so write 2.

    • 6 is written on the sheet, so erase 6.

    Thus, the sheet contains only 2 in the end. The answer is 1.

    Sample Input 2

     

    4
    2
    5
    5
    2
    

    Sample Output 2

     

    0
    

    It is possible that no number is written on the sheet in the end.

    Sample Input 3

     

    6
    12
    22
    16
    22
    18
    12
    

    Sample Output 3

     

    2
    


    该题就是判断一个数出现的次数,偶数为0,奇数+1;
    #include<cstdio>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    long long a[1000010];
    int main()
    {
        int n,x=1,ans=0;//x表示一个数出现的次数,赋值1 
        cin>>n;
        for(int i=0;i<n;i++)
           cin>>a[i];
        sort(a,a+n);//先排序,更方便判断奇偶 
        for(int i=1;i<n;i++)
        {
            if(a[i]==a[i-1])//出现相同的数,x+1然后mod2 
              x=(x+1)%2;
            else
            {
                ans+=x;//单独的一个数,ans+1,x重新赋值为1,进行循环 
                x=1;
            }      
        }
        if(x%2)//再次判断 ,若不为0,则ans+1 
          ans++;
        cout<<ans<<endl;
        return 0;
    } 
  • 相关阅读:
    委托经典--由浅入深讲解
    原生的AJAX
    asp.net传值
    flex做的圣杯布局
    弹性盒布局实例
    CSS3实现的几个小loading效果
    requireJS基本概念及使用流程(2)
    require.js的基本概念及使用流程(1)
    JSz中的静态方法和实例方法的分析
    前端性能优化的方法
  • 原文地址:https://www.cnblogs.com/ylrwj/p/10792504.html
Copyright © 2011-2022 走看看