POJ 1013 Counterfeit Dollar 找假硬币 模拟
来源:互联网 发布:工商总局打击网络传销 编辑:程序博客网 时间:2024/06/13 01:30
题意:多组测试数据,每组三行。
有一打(12枚)硬币,其中有且仅有1枚假币,11枚真币
用A~L作为各个硬币的代号
假币可能比真币略轻,也可能略重
现在利用天枰,根据Input输入的3次称量,找出假币,并输出假币是轻还是重。
思路和 POJ 2418 是一样的。 就不重复了。
#include<iostream>#include<algorithm>#include<string>#include<cstring>#include<cstdio>const int maxn=100005;using namespace std;int flag[maxn]; //记录硬币真假,1为真 int w[maxn]; //记录硬币出现的次数,轻的和重的要分开记录,为正表示重的出现次数,负表示轻的出现次数 int main(){//freopen("E:\\ACM\\test.txt","r",stdin);int T;cin>>T;string a,b,sign;while(T--){int total=0; //记录不等式出现出现次数 memset(flag,0,sizeof(flag)); memset(w,0,sizeof(w)); for(int i=0;i<3;i++){cin>>a>>b>>sign; if(sign=="even") //为真 {for(int i=0;i<a.size();i++){flag[a[i]-'A']=flag[b[i]-'A']=1;}}else if(sign=="up") //右轻左重{++total;for(int i=0;i<a.size();i++) w[a[i]-'A']++;for(int i=0;i<b.size();i++) w[b[i]-'A']--;}else if(sign=="down") //右重左轻 {++total;for(int i=0;i<a.size();i++) w[a[i]-'A']--;for(int i=0;i<b.size();i++) w[b[i]-'A']++;}}char ans;for(int i=0;i<12;i++){if(flag[i]==0&&(w[i]==total||w[i]==-total)) //找每次都出现的假币 {ans=i+'A';w[i]==total?sign="heavy.":sign="light."; //如果w[i]为正,说明硬币是重的 break;}}cout<<ans<<" is the counterfeit coin and it is "<<sign<<endl;} return 0;}
阅读全文
0 0
- POJ 1013 Counterfeit Dollar 找假硬币 模拟
- POJ 1013 - Counterfeit Dollar(模拟)
- poj 1013 Counterfeit Dollar(模拟题)
- POJ 1013 Counterfeit Dollar 笔记 模拟
- POJ 1013 Counterfeit Dollar
- POJ 1013 Counterfeit Dollar
- POJ 1013 Counterfeit Dollar
- POJ 1013 Counterfeit Dollar
- POJ 1013 Counterfeit Dollar
- POJ 1013 Counterfeit Dollar
- POJ 1013 Counterfeit Dollar
- POJ 1013 Counterfeit Dollar
- POJ 1013 counterfeit dollar
- POJ 1013 Counterfeit Dollar
- poj 1013 Counterfeit Dollar
- POJ 1013 Counterfeit Dollar
- poj 1013 Counterfeit Dollar
- poj-1013 Counterfeit Dollar
- 贪心算法
- 编写EL函数
- 敏捷开发中的问题
- Gulp Stream分析
- 2017百度之星资格赛1004度度熊的午饭时光
- POJ 1013 Counterfeit Dollar 找假硬币 模拟
- CC2640R2F BLE5.0 CC2640R2F增加一个具有通知属性的characteristic
- com:向对象到面向服务
- org.apache.commons.lang3功能示例
- 打印一个字符串的所有排列。
- spoj Primes in GCD Table 莫比乌斯反演
- C语言
- Hibernate(十二)命名查询-批量处理和调用存储过程
- Java 集合系列13之 WeakHashMap详细介绍(源码解析)和使用示例