哈理工oj 1341Who will be punished解题报告

链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1341

这道题和1228那个很类似,也是用的异或方法找出出现一次的那个,只不过是针对字符串的,字符本身就是ascii码,可以进行这样的运算

View Code
 1 #include<stdio.h>
 2 #include<string.h>
 3 int max(int a,int b)
 4 {
 5     return a>b?a:b;
 6 }
 7 int main()
 8 {
 9     char a[35];
10     char b[35];
11     int n,i;
12     int icase=1;
13     while(scanf("%d",&n)!=EOF)
14     {
15         memset(b,0,sizeof(b));
16         int j;
17         for(i=0;i<n;i++)
18         {
19             scanf("%s",a);
20             int len1=strlen(a);
21             int len2=strlen(b);
22             for(j=0;j<=max(len1,len2);j++)
23             b[j]^=a[j];
24         }
25         for(i=0;i<n-1;i++)
26         {
27             scanf("%s",a);
28             int len1=strlen(a);
29             int len2=strlen(b);
30             for(j=0;j<=max(len1,len2);j++)
31             b[j]^=a[j];
32         }
33         printf("Scenario #%d\n",icase++);
34         printf("%s\n\n",b);
35     }
36     return 0;
37 }
原文地址:https://www.cnblogs.com/caozhenhai/p/2439466.html