#include <stdio.h>
#include <string.h>

#define MIN(a,b) (((a) < (b)) ? (a) : (b))

int main()
{
    int code[1000];
    int guess[1000];
    int C1[10]; // 数字1~9在code中出现的次数,C1[0]未使用
    int C2[10]; // 数字1~9在guess中出现的次数,C2[0]未使用
    int n, i, S, C, game = 0;
    while (scanf("%d", &n) == 1 && n)
    {
        memset(C1, 0, sizeof(C1));
        for (i = 0; i < n; ++i)
        {
            scanf("%d", code+i);
            ++C1[code[i]];
        }

printf("Game %d:\n", ++game);

while (1)
        {
            S = 0; // Strong Match
            memset(C2, 0, sizeof(C2));

for (i = 0; i < n; ++i)
            {
                scanf("%d", guess+i);
                ++C2[guess[i]];
                if (guess[i] == code[i])
                    ++S;
            }

if (!guess[0])
                break;

C = 0; // 1~9在code和guess中同时出现的总次数
            for (i = 1; i < 10; ++i)
            {
                if (C1[i] && C2[i])
                    C += MIN(C1[i], C2[i]);
            }

printf("    (%d,%d)\n",  S, C-S);
        }
    }

return 0;
}

UVa340 Master-Mind Hints的更多相关文章

  1. [C++]猜数字游戏的提示(Master-Mind Hints,UVa340)

    [本博文非博主原创,思路与题目均摘自 刘汝佳<算法竞赛与入门经典(第2版)>] Question 例题3-4 猜数字游戏的提示(Master-Mind Hints,UVa340) 实现一个 ...

  2. uva340 Master-Mind Hints (UVA - 340)

    题目简要 题目意思很简单每个测试都由原题目在第一行,然后后面的都是去猜的答案,如果猜测的位置正确那么输出的结果的数对里面的第一个数就加一,如果仅答案正确(原题目里有这个数,但是位置不一样)那么就在输出 ...

  3. UVa340(Master-Mind Hints)未完成

    #include<stdio.h> int main() { int num,a[100],i,j,b[100]; while(scanf("%d",&num) ...

  4. [转]You Could Become an AI Master Before You Know It. Here’s How.

    转自:https://www.technologyreview.com/s/608921/ai-algorithms-are-starting-to-teach-ai-algorithms/# You ...

  5. 全面理解Python中的类型提示(Type Hints)

    众所周知,Python 是动态类型语言,运行时不需要指定变量类型.这一点是不会改变的,但是2015年9月创始人 Guido van Rossum 在 Python 3.5 引入了一个类型系统,允许开发 ...

  6. xamarin MasterDetailPage点击Master时卡顿现象

    在很多项目中经常会使用到MasterDetailPage的布局方式,而且一般做为主页面来开发,在开发中,发现一个并不算Bug的问题,但是却发生了,以此记录下来,方便大家探讨. 现象是这样的,我开发了一 ...

  7. backup3:master 数据库的备份和还原

    在SQL Server 中,master 数据库记录系统级别的元数据,例如,logon accounts, endpoints, linked servers, and system configur ...

  8. 当master down掉后,pt-heartbeat不断重试会导致内存缓慢增长

    最近同事反映,在使用pt-heartbeat监控主从复制延迟的过程中,如果master down掉了,则pt-heartbeat则会连接失败,但会不断重试. 重试本无可厚非,毕竟从使用者的角度来说,希 ...

  9. Win10 UWP开发系列:实现Master/Detail布局

    在开发XX新闻的过程中,UI部分使用了Master/Detail(大纲/细节)布局样式.Win10系统中的邮件App就是这种样式,左侧一个列表,右侧是详情页面.关于这种 样式的说明可参看MSDN文档: ...

随机推荐

  1. image.xx.com 通过haproxy 跳转到内部图片服务器

    <pre name="code" class="html">http://www.hyyche.com/#main C:\Users\Adminis ...

  2. css首行缩进两个字符串

    text-indent:2em; 这个属性就可以缩进,但是2em不确定是什么意思:抽空总结一下

  3. kafka学习(四)-Topic & Partition

    topic中partition存储分布 Topic在逻辑上可以被认为是一个queue.每条消费都必须指定它的topic,可以简单理解为必须指明把这条消息放进哪个queue里.为了使得 Kafka的吞吐 ...

  4. openstack之nova启动实例过程

    概述: 启动一个实例包含以下步骤: API server:处理用户请求并转发至cloud controller cloud controller:处理计算节点.网络控制.api server 以及sc ...

  5. js快排与namespace

    function quickSort(arr){ if(arr.length<=1){ return arr; } var num = Math.floor(arr.length/2); var ...

  6. English - refer to...和refer to...as

    refer to...和refer to...as...本来就是refer的两个固定搭配,这个只能讲讲后两者用法,剩下的就是单独的refer的用法了. 1. refer to sb/sth 指的是/提 ...

  7. 重启sql server服务两种方式

    1.第一种重启SQl server的方法 点击左侧的数据库重启 如图 右击有个重启操作 2.第二个重启sql server方法

  8. PL/SQL编程要点和注意点

    http://www.itpub.net/thread-1560427-3-1.html 1. 非关键字小写,关键字大写,用下划线分隔,用前缀区分变量与表列名.不强求变量初始值.2. 永远只捕获可预测 ...

  9. POJ 3356.AGTC

    问题简述: 输入两个序列x和y,分别执行下列三个步骤,将序列x转化为y (1)插入:(2)删除:(3)替换: 要求输出最小操作数. 原题链接:http://poj.org/problem?id=335 ...

  10. tengine install

    ./configure --prefix=/home/admin/local/tengine --with-http_stub_status_module --with-http_ssl_module ...