首页 > 代码库 > nefu 643 teacher Li
nefu 643 teacher Li
题目:大意是说李老师的课堂上有n个学生,给出这n个人名单,今天共来了n-1个人,有一个人没来,给出这n-1个人的名单,来找出没来的那个人。
方法:开始使用map,set都会超时,汗了半天,实在没办法了,看了一下别人的思路,神思路!!大致方法就是把他们n个人的名字加起来,然后在减去n-1个人的名字,剩下的就是没来的那个人的名字。这里需要使用到ASCII码和数字之间通用的属性。
代码:
#include <iostream> #include <cstdio> #include <cstring> using namespace std; int main() { int i,j,n; int s[32],k=1; char t[33]; while(scanf("%d",&n)!=EOF) { memset(s,0,sizeof(s)); int len=0; for(i=0;i<n;i++) { scanf("%s",t); len=strlen(t); for(j=0;j<len;j++) s[j]+=t[j]; } for(i=0;i<n-1;i++) { scanf("%s",t); len=strlen(t); for(j=0;j<len;j++) s[j]-=t[j]; } printf("Scenario #%d\n",k++); for(i=0;i<n&&s[i];i++) printf("%c",s[i]); puts("\n"); } return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。