UVa 340 Master-Minds Hints(猜数字游戏的提示)
来源:互联网 发布:淘宝到家是干嘛的 编辑:程序博客网 时间:2024/04/30 04:50
//给定答案序列和用户猜的序列,统计有多少数字位置正确(A),有多少数字在两个序列都出现过但位置不对(B)//输入有多组测试。每组输入第一行为序列长度n,第二行是答案序列,接下来是多行猜测序列猜测序列全0该组数据结束。n=0时结束输入#include <stdio.h>#include <stdlib.h>#include <ctype.h>#include <string.h>int compare(int number,int keycopy[],int length){ for(int i=0;i<length;i++) if(number==keycopy[i]){ keycopy[i]=0;//对应过的不能再用 return 1; } return 0;}int main(){ int n; int *key;//正确 int *guess;//猜测 int *keycopy;//复制一遍key int count1=0,count2=0; int times=0; while(scanf("%d",&n)&&n){ printf("Game %d:\n",++times); int flag=1; key=(int *)malloc(sizeof(int)*n); guess=(int *)malloc(sizeof(int)*n); keycopy=(int *)malloc(sizeof(int)*n); for(int i=0;i<=n-1;i++) scanf("%d",&key[i]); while(flag){//flag为1才说明上次输入不是全零 flag=0; count1=count2=0; memcpy(keycopy,key,sizeof(int)*n); for(int i=0;i<=n-1;i++){ scanf("%d",&guess[i]); if(guess[i]!=0) flag=1; if(guess[i]==key[i]){ count1++; guess[i]=0;//对应过的不能再用 由题意,key和guess均无0 keycopy[i]=0;//对应过的不能再用 } } for(int i=0;i<=n-1;i++) if(guess[i]&&compare(guess[i],keycopy,n)) count2++; if(flag) printf(" (%d,%d)\n",count1,count2); } } return 0;}/*// UVa340 Master-Mind Hints// Rujia Liu//直接统计A,为了求B,对于每个数字0~9,统计二者出现的次数c1和c2,min(c1,c2)就是该数字对B的贡献,最后要减去A的部分#include<stdio.h>#define maxn 1000 + 10int main() { int n, a[maxn], b[maxn]; int kase = 0; while(scanf("%d", &n) == 1 && n) { // n=0时输入结束 printf("Game %d:\n", ++kase); for(int i = 0; i < n; i++) scanf("%d", &a[i]); for(;;) { int A = 0, B = 0; for(int i = 0; i < n; i++) { scanf("%d", &b[i]); if(a[i] == b[i]) A++; } if(b[0] == 0) break; // 正常的猜测序列不会有0,所以只判断第一个数是否为0即可 for(int d = 1; d <= 9; d++) { int c1 = 0, c2 = 0; // 统计数字d在答案序列和猜测序列中各出现多少次 for(int i = 0; i < n; i++) { if(a[i] == d) c1++; if(b[i] == d) c2++; } if(c1 < c2) B += c1; else B += c2; } printf(" (%d,%d)\n", A, B-A); } } return 0;}*/
1 0
- UVa 340 Master-Minds Hints(猜数字游戏的提示)
- UVa 340 Master-Mind Hints(猜数字游戏的提示)
- 猜数字游戏的提示 (Master-Mind Hints, UVa 340)
- UVa 340 猜数字游戏提示(Master-Mind-Hints)
- UVA 340 Master-Mind Hints 猜数字提示的游戏 简单模拟
- 猜数字游戏的提示(Master-Mind Hints , UVa 340)
- 猜数字游戏的提示(Master-Mind Hints, UVa 340)
- 猜数字游戏的提示(Master-Mind Hints, UVa 340)
- uva 340 -----Master-Mind Hints(猜数字游戏的提示)
- 例题3-4 猜数字游戏的提示(Master-Mind Hints)
- UVA-340 Master-Mind Hints (猜数字)
- 《算法竞赛入门经典2ndEdition》 例题3-4 猜数字游戏的提示(Master-Mind Hints, Uva340)
- UVa 340 猜数字游戏的提示
- UVa 340 猜数字游戏的提示
- UVa Master-Mind Hints(猜数字+计数)
- UVa 340 Master-Mind Hints
- uva 340 Master-Mind Hints
- UVA 340 - Master-Mind Hints
- 网页ad广告图下拉定点滑动
- CodeForces 650B(二分)
- Getting Started with the G1 Garbage Collector (待翻译)
- 【Java源码分析】LinkedHashSet和HashSet源码分析
- 安卓面试中遇到的问题记录
- UVa 340 Master-Minds Hints(猜数字游戏的提示)
- 【HDU5156】Harry and Christmas tree,两种离线的做法
- MySQL性能优化的最佳20+条经验
- PL/SQL 程序包中的EXIT和RETURN
- 对于String类中的"abc"与new String("abc")的一些理解
- Hdu-5765 Bonds(状压)
- Android 多媒体中的音乐播放器编程
- 百度编辑器UEditor常用设置函数
- Gym 100952E E. Arrange Teams dfs、剪枝