UVa 340 - Master-Mind Hints

来源:互联网 发布:网络结婚证制作软件 编辑:程序博客网 时间:2024/06/01 15:13

题意:给定答案序列和用户猜的序列,统计有多少数字位置正确(m1),有多少数字在两个序列都出现过但位置不对(n1)。

#include<stdio.h>#define maxn 1010 int a[maxn],b[maxn];int main() {  int n;  int k = 1;  while(scanf("%d", &n) != EOF && n) //n=0时输入结束  {    printf("Game %d:\n", k++);   for(int i = 0; i < n; i++)      scanf("%d", &a[i]);   for(;;)    {    int m1 = 0, n1 = 0;    for(int i = 0; i < n; i++) {  scanf("%d", &b[i]);      if(a[i] == b[i])      m1++;    }    if(b[0] == 0)      break;    for(int d = 1; d <= 9; d++) {      int c1 = 0, c2 = 0;        for(int i = 0; i < n; i++)   {        if(a[i] == d) c1++;        if(b[i] == d) c2++;      }      if(c1 < c2)      n1 += c1;   else      n1 += c2;    }   printf("    (%d,%d)\n", m1, n1-m1);   }  }return 0;}


0 0
原创粉丝点击