hdu 1563

    xiaoxiao2021-03-25  102

     

    Find your present!

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4052    Accepted Submission(s): 2674 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 异或解法 #include <iostream> #include<math.h> using namespace std; int main(void) {    int n;    while(cin>>n,n!=0)    {     int m,s=0;     for(int i=0;i<n;i++)     {     cin>>m;     s=s^m; } cout<<s<<endl;    }    return 0; } MAP解法   #include <iostream> #include<math.h> #include<algorithm> #include<memory.h> #include<map> using namespace std; int main() {   int n;   while(cin>>n,n!=0)   {   map<int,int>m;   int k;   for(int i=0;i<n;i++)   {   cin>>k; m[k]++;    }    map<int,int>::iterator i;    for(i=m.begin();i!=m.end();i++)    {     if(i->second==1)     cout<<i->first<<endl; }   }   return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-35002.html

    最新回复(0)