hdu 1482
2015-11-12 09:35
288 查看
额,这个题原本也是挂到hash上的,结果又是水题
......
......
#include <iostream> #include <cstring> #include <cstring> #include <cmath> #include <cstdio> #include <algorithm> using namespace std; char a[100],l[30],r[30],w[30]; int vis[30]; void ori(){ for(int i=0;i<30;i++)vis[i]=4;//4 unknown 0 true +heavy -light } int main(){ int n; scanf("%d",&n); getchar(); while(n--){ ori(); int ans,k; for(int i=0;i<3;i++){ gets(a); sscanf(a,"%s%s%s",&l,&r,&w); if(w[0]=='e'){ int len=strlen(l); for(int j=0;j<len;j++){ int t1=l[j]-'A',t2=r[j]-'A'; vis[t1]=vis[t2]=0; } } if(w[0]=='u'){ int len=strlen(l); for(int j=0;j<len;j++){ int t1=l[j]-'A',t2=r[j]-'A'; if(vis[t1]!=0){ if(vis[t1]==4){ vis[t1]=-1; } else if(vis[t1]>0)vis[t1]=0; else vis[t1]--; } if(vis[t2]!=0){ if(vis[t2]==4){ vis[t2]=1; } else if(vis[t2]<0)vis[t2]=0; else vis[t2]++; } } } if(w[0]=='d'){ int len=strlen(l); for(int j=0;j<len;j++){ int t1=l[j]-'A',t2=r[j]-'A'; if(vis[t1]!=0){ if(vis[t1]==4){ vis[t1]=1; } else if(vis[t1]<0)vis[t1]=0; else vis[t1]++; } if(vis[t2]!=0){ if(vis[t2]==4){ vis[t2]=-1; } else if(vis[t2]>0)vis[t2]=0; else vis[t2]--; } } } } k=0; for(int j=0;j<30;j++){ if(abs(vis[j])>k&&vis[j]!=4){ k=abs(vis[j]); ans=j; } } if(vis[ans]>0) printf("%c is the counterfeit coin and it is light.\n",'A'+ans); else printf("%c is the counterfeit coin and it is heavy.\n",'A'+ans); } return 0; }
相关文章推荐
- 局域网不能访问 CentOS 的端口解决方案
- 抛弃jQuery 深入原生的JavaScript
- ASP.NET MVC 4 中的JSON数据交互
- cocos2d 制作动态光晕效果基础 —— blendFunc
- 在SQL Server中为什么不建议使用Not In子查询
- <html:text> Id属性
- Idea 使用中碰到的问题
- CentOS 安装 SonarQube
- MongoDB for循环插入数据至死循环问题
- 关于用NSRegularExpression来找出表情和网址
- 职场必须要会的餐桌礼仪
- STM32的GPIO口的8种配置模式
- javascript倒计时效果实现
- android 各个版本对应的api等级
- 实况球员综合能力大比拼
- HTML TBLE表格重复内容列合并javascript方法
- Android安装应用程序出现“INSTALL_FAILED_CONTAINER_ERROR
- sql面试题
- 自定义信号槽
- ubuntu修改主机名