UVA-340

    xiaoxiao2026-05-22  5

    #include <algorithm> #include <iostream> #include <utility> #include <cstring> #include <cstdlib> #include <cstdio> #include <deque> #include <string> #include <vector> #include <cmath> #include <stack> #include <queue> #include <map> #include <set> using namespace std; #define mm(a,i) memset(a, i, sizeof(a)); #define LL    long long #define Mod 1000000007 #define SC_C(s)           scanf("%c", &s) #define SC(a)             scanf("%d", &a) #define SCC(a,b)          scanf("%d %d", &a, &b) #define SCCC(a,b,c)       scanf("%d %d %d", &a, &b, &c) #define FXA(i,a,n)        for(i=a; i<n; i++) #define FDA(i,a,n)        for(i=a; i>n; i++) #define FXDA(i,a,n)       for(i=a; i<=n; i++) #define FDDA(i,a,n)       for(i=a; i>=n; i++) #define FXB(i,a,n)        for(i=a; i<n; i--) #define FDB(i,a,n)        for(i=a; i>n; i--) #define FXDB(i,a,n)       for(i=a; i<=n; i--) #define FDDB(i,a,n)       for(i=a; i>=n; i--) #define PF(n)             printf("%d\n", n); #define PFF(n,m)          printf("%d %d\n", n, m); #define PFFF(x,y,z)       printf("%d %d %d\n", x, y, z); #define PF_Case(i)        printf("Case %d:\n",i); #define PF_C(i)           printf("%d:\n",i); #define PF_L(x)           printf("%I64d\n",x); #define IN                freopen("D:\\in.txt","r",stdin); #define MAX(a,b)          a>b?a:b #define MIN(a,b)          a<b?a:b int maxx =  999999999; int minn = -999999999; bool flag; int i,j,k,T,ans,sum,m,n,cnt; //string s; char* rev = "A   3  HIL JM O   2TUVWXY51SE Z  8 "; char* msg[] = {"not a palindrome", "a regular palindrome", "a mirrored string", "a mirrored palindrome"}; char r(char ch) {     if(isalpha(ch)) return rev[ch - 'A'];     return rev[ch - '0' + 25]; } int main() { #ifndef ONLINE_JUDGE     IN #endif // ONLINE_JUDGE     int n, a[1005], b[1005];     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; }
    转载请注明原文地址: https://ju.6miu.com/read-1309955.html
    最新回复(0)