猜数字游戏的提示(UVa 340)
来源:互联网 发布:java获取map中的泛型 编辑:程序博客网 时间:2024/05/23 23:47
猜数字游戏的提示(UVa 340)
实现一个经典的“猜数字”游戏。
给定答案序列和用户猜的序列,统计有多少数字位置正确(A),有多少数字在两个序列都出现过但位置不对(B)。
输入包含多组数据。
每组输入第一行为序列长度 n,第二行是答案序列,接下来若干行猜测序列。猜测序列全0 时该组数据结束。 n=0时输入结束。
样例输入:
4
1 3 5 5
1 1 2 3
4 3 3 5
6 5 5 1
6 1 3 5
1 3 5 5
0 0 0 0
10
1 2 2 2 4 5 6 6 6 9
1 2 3 4 5 6 7 8 9 1
1 1 2 2 3 3 4 4 5 5
1 2 1 3 1 5 1 6 1 9
1 2 2 5 5 5 6 6 6 7
0 0 0 0 0 0 0 0 0 0
0
样例输出:
Game 1:
(1,1)
(2,0)
(1,2)
(1,2)
(4,0)
Game 2:
(2,4)
(3,2)
(5,0)
(7,0)
注:(1,1)开始前面空四格。
代码如下:
#include <stdio.h>#include <string.h>long long a[10500],b[1050][10500];int main(int argc, char *argv[]){long long n,l=1;while((scanf("%lld",&n))!=EOF&&n){printf("Game %d:\n",l);memset(a,0,sizeof(a));long long i;for(i=0;i<n;i++)scanf("%lld",&a[i]);for(i=0;;i++){long long s=0,j,A=0,B=0,up[11]={0},down[11]={0};memset(b[i],0,sizeof(b[i]));for(j=0;j<n;j++){scanf("%lld",&b[i][j]);if(b[i][j]==0)s++;if(b[i][j]==a[j])A++;else { up[a[j]]++;down[b[i][j]]++;}}if(s==n)break;for(j=1;j<10;j++){if(up[j]<=down[j])B+=up[j];else B+=down[j];}printf(" (%lld,%lld)\n",A,B);}l++;}return 0;}
阅读全文
0 0
- UVa 340 猜数字游戏的提示
- UVa 340 猜数字游戏的提示
- 猜数字游戏的提示(UVa 340)
- UVa 340 Master-Mind Hints(猜数字游戏的提示)
- UVa 340 Master-Minds Hints(猜数字游戏的提示)
- 猜数字游戏的提示 (Master-Mind Hints, UVa 340)
- 猜数字游戏的提示(Master-Mind Hints , UVa 340)
- 猜数字游戏的提示(Master-Mind Hints, UVa 340)
- 猜数字游戏的提示(Master-Mind Hints, UVa 340)
- uva 340 -----Master-Mind Hints(猜数字游戏的提示)
- UVa 340 猜数字游戏提示(Master-Mind-Hints)
- UVA 340 Master-Mind Hints 猜数字提示的游戏 简单模拟
- Uva 340 猜数字的游戏
- UVaOJ 340 猜数字游戏的提示
- uvaoj-340:猜数字游戏的提示
- 猜数字游戏的提示
- 猜数字游戏的提示
- 猜数字游戏的提示
- 5-5 输出GPLT (20分)
- 这不是Floyd
- hdu1087 动态规划入门LIS
- 什么是计算机语言
- 在局域网中不能ping通的问题
- 猜数字游戏的提示(UVa 340)
- 018-双因素理论|如何管理80后,90后
- 栈
- 暑期第二天
- CodeForces 25D(并查集)
- MongoDB常用命令汇总之聚集集合查询。
- 批量微信号码过滤程序
- Linux基本的一些命令
- JAVA Map架构和API介绍