zoukankan      html  css  js  c++  java
  • 猜数字游戏(摘)

    给定答案序列和猜的序列,统计有多少数字位置正确(A),有多少扇骨子在两个序列都出现过但位置不对(B)。

    输入包含多组数据。每组输入第一行为序列长度n,第二行是答案序列,接下来是若干猜测序列。猜测序列全0时该组数据结束。n=0时输入结束。

    #include<iostream>
    #include<stdio.h>
    #define maxn 1010
    int main()
    {
        int n,a[maxn],b[maxn];
        int kase=0;
        while(scanf("%d",&n)==1&&n){       //n=0时输入结束
            printf("Game %d:
    ",++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)
    ",A,B-A);
            }
        }
        system("pause");
        return 0; 
    }


    输入输出样例

     

  • 相关阅读:
    信号之可重入函数
    信号的发送
    守护进程详解以及start-stop-daemon命令
    信号基本概念
    常用进程调度算法(转)
    malloc/free与new/delete的区别(转)
    IP地址转换
    exec系列函数详解
    fork函数拓展
    leetcode第156场周赛5205
  • 原文地址:https://www.cnblogs.com/farewell-farewell/p/5189507.html
Copyright © 2011-2022 走看看