UVA 340-Master-Mind Hints
题目大意:一个猜数字的小游戏,同一位置猜对的话x+1,数字猜对,但位置不对的话y+1分,x优先
解题思路:用x,y变量表示就好
#include <stdio.h>
#include <string.h>
#include <iostream>
using namespace std;
int main() {
int n;
int all = 0;
while(scanf("%d", &n) && n != 0) {
all++;
int a[1000];
int c[1000];
for(int i = 0; i < n; i++)
scanf("%d", &a[i]);
printf("Game %d:\n", all);
int b[1000];
while(1) {
int x = 0, y = 0;
for(int i = 0; i < n; i++) {
scanf("%d", &b[i]);
c[i] = a[i];
}
if(b[0] == 0)
break;
for(int i = 0; i < n; i++) {
if(c[i] == b[i]) {
x++;
c[i] = 0;
b[i] = 0;
}
}
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++) {
if(b[i] == 0)
break;
if(c[j] == b[i]) {
y++;
c[j] = 0;
b[i] = 0;
break;
}
}
printf(" (%d,%d)\n", x, y);
}
}
return 0;
}