uva 340 Master-Mind Hints
来源:互联网 发布:卖家网wish数据是什么 编辑:程序博客网 时间:2024/04/30 08:34
题意:题目给出一个目标串,然后附后给出几个串(只由1到9构成),要你找出,位置相同且数字相同的有多少个(即strong),位置不同,但数字相同的有多少个(即weak)。注意每个数字只有用一次。
因为只有1到9所以开两个数字,找出每个数字出现了多少次,然后两个数组对比,每次取小的那个累加,最后减去strong的个数,就是weak的个数。
#include <iostream>#include <cstdio>#include <cstring>using namespace std;int cnt1[15],cnt2[15];char aim[3000],temp[3000];int main(){ int n,t_cnt=0; while(scanf("%d",&n)!=EOF) { if(n==0) break; printf("Game %d:\n",++t_cnt); int i,len; memset(aim,0,sizeof(aim)); memset(temp,0,sizeof(temp)); memset(cnt1,0,sizeof(cnt1)); memset(cnt2,0,sizeof(cnt2)); getchar(); gets(aim); len=strlen(aim); for(i=0;i<len;i++) { if(isdigit(aim[i])) cnt1[aim[i]-'0']++; } while(gets(temp)) { int num=0,ans=0; if(temp[0]=='0') break; len=strlen(temp); for(i=0;i<len;i++) { if(isdigit(temp[i])) { if(aim[i]==temp[i]) num++; cnt2[temp[i]-'0']++; } } for(i=1;i<10;i++) ans+=min(cnt1[i],cnt2[i]); printf(" (%d,%d)\n",num,ans-num); memset(temp,0,sizeof(temp)); memset(cnt2,0,sizeof(cnt2)); } } return 0;}
- UVa 340 Master-Mind Hints
- uva 340 Master-Mind Hints
- UVA 340 - Master-Mind Hints
- UVa 340 - Master-Mind Hints
- UVa 340 Master-Mind Hints
- UVA 340 Master-Mind Hints
- uva 340 Master-Mind Hints
- UVA 340 - Master-Mind Hints
- UVa 340 - Master-Mind Hints
- UVa 340 - Master-Mind Hints
- UVA 340 Master-Mind Hints
- uva 340 Master-Mind Hints
- UVa - 340 - Master-Mind Hints
- UVa 340 - Master-Mind Hints
- uva 340 Master-Mind Hints
- uva - 340 - Master-Mind Hints
- UVa 340 - Master-Mind Hints
- UVa:340 - Master-Mind Hints
- 珠海立方科技实习总结
- 算法4.3 取一个字符串的子串
- The Clocks时钟
- 用C++写的一个数单词个数的程序
- PNG透明窗体全攻略(控件不透明)
- uva 340 Master-Mind Hints
- 分布式压力测试工具
- 预览 Sencha Touch 2:原生包和性能改进
- 学软件都要英语好吗
- 防盗链
- Android基础 : Android Content Provide
- 使用qemu 建立mini2440的模拟仿真环境
- CSDN Bug
- Java输出输入流(IO流 )