【链接】 我是链接,点我呀:)

【题意】

在这里输入题意

【题解】

这里出现了没有在相同位置的只能唯一配对。
就是说
3322
2234
这种情况。
只有3个weak pair.
即key[1]=a[3]==3
以及key[3]=a[1]=2
以及key[4]=a[2]=2

那么我们for一遍。

只要a[i]!=key[i];

就记录答案里面有一个key[i]是没被配对的,同时记录猜的序列里面有一个a[i]没配对。

分别记录在a1[1..9]和a2[1..9]里面;->记录个数

然后weak pair的个数就是

\(∑_1^9min(a1[i],a2[i])\)

【错的次数】

在这里输入错的次数

【反思】

在这里输入反思

【代码】

#include <bits/stdc++.h>
#define ll long long
using namespace std; const int N = 1000; int key[N+10],a[N+10],a1[10],a2[10],n; int main()
{
//freopen("F:\\rush.txt","r",stdin);
int kk = 0;
while (~scanf("%d",&n) && n)
{
printf("Game %d:\n",++kk);
for (int i = 1;i <= n;i++)
scanf("%d",&key[i]); while (~scanf("%d",&a[1]))
{
int num1 =0,num2 = 0;
for (int i = 1;i <= 9;i++) a1[i] = 0,a2[i] = 0; for (int i = 2;i <= n;i++) scanf("%d",&a[i]);
for (int i = 1;i <= n;i++)
{
if (a[i]==key[i])
num1++;
else
{
a1[key[i]]++;
a2[a[i]]++;
}
} if (a[1]==0) break; for (int i = 1;i <= 9;i++)
num2+=min(a1[i],a2[i]);
printf(" (%d,%d)\n",num1,num2);
}
}
return 0;
}

【例题3-4 UVA - 340】Master-Mind Hints的更多相关文章

  1. UVa 340 Master-Mind Hints (优化查找&复制数组)

    340 - Master-Mind Hints Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_on ...

  2. UVa 340 Master-Mind Hints

    蛋疼的题目描述,看了好长好长时间才看懂,题目本身是很简单的. Designer给出一串长度为N的Code,Breaker用Guess来破译. 对于两串数字,如果有同一列相等的数字,那么叫做strong ...

  3. UVa 340 Master-Mind Hints(猜数字游戏的提示)

    题意  猜数字游戏  统计猜的数字有多少个数字位置正确  有多少个数字在答案中出现可是位置不对  每一个字符仅仅能匹配一次 直接匹配每位数 #include<cstdio> #includ ...

  4. UVa 340 - Master-Mind Hints 解题报告 - C语言

    1.题目大意 比较给定序列和用户猜想的序列,统计有多少数字位置正确(x),有多少数字在两个序列中都出现过(y)但位置不对. 2.思路 这题自己思考的思路跟书上给的思路差不多.第一个小问题——位置正确的 ...

  5. UVA 340 Master-Mind Hints 猜密码游戏(水)

    题意: 给一串密码(第一行),接着再给你很多行猜测,针对每行猜测,输出两个数字,分表代表:同一列上匹配的个数,不同列上匹配的个数.注:匹配指的是一次,一旦配对,不能再与其他配对. 思路: 每接受一行猜 ...

  6. 猜数字游戏的提示(Master-Mind Hints, UVa 340)

    实现一个经典"猜数字"游戏. 给定答案序列和用户猜的序列,统计有多少数字位置正确 (A),有多少数字在两个序列都出现过但位置不对(B). 输入包含多组数据.每组输入第一行为序列长度 ...

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

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

  8. 【每日一题】 UVA - 340 阅读理解+模拟

    https://cn.vjudge.net/problem/UVA-340 题目很难读,差不多读了两天 意思是给你一个n个数的数列,然后有m个询问,每个询问也是一个n个数的数列,让你输出两个数:一个是 ...

  9. 《算法竞赛入门经典》习题及反思 -<2>

    数组 Master-Mind Hints,Uva 340 题目:给定答案序列和用户猜的序列,统计有多少数字对应正确(A),有多少数字在两个序列都出现过但位置不对. 输入包括多组数据.每组输入第一行为序 ...

随机推荐

  1. 趣题: 按二进制中1的个数枚举1~2^n (位运算技巧)

    ; ; k <= n; k++){ << k)-,u = << n; s < u;){ ;i < n;i++) printf(-i)&); print ...

  2. DM9000C网卡驱动

    目的:通过学习,掌握如何移植.编写DM9000C网卡驱动 一.概述: DM9000是一款高度集成低功耗快速以太网处理器,该芯片集成了MAC和PHY.DM9000可以和CPU直接连接,支持8位.16位和 ...

  3. 【Educational Codeforces Round 36 D】 Almost Acyclic Graph

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 找到任意一个环. 然后枚举删掉其中的某一条边即可. (因为肯定要删掉这个环的,那么方法自然就是删掉其中的某一条边 (其它环,如果都包 ...

  4. 基于 Cookie 的 SSO 中间件 kisso

    kisso  =  cookie sso 基于 Cookie 的 SSO 中间件,它是一把快速开发 java Web 登录系统(SSO)的瑞士军刀.欢迎大家使用 kisso !! kisso 帮助文档 ...

  5. 一起talk C栗子吧(第三十四回:C语言实例--巧用溢出计算最值)

    各位看官们.大家好,上一回中咱们说的是巧用移位的样例,这一回咱们说的样例是:巧用溢出计算最值. 闲话休提,言归正转.让我们一起talk C栗子吧! 大家都知道,程序中的变量都有一个取值范围,这个范围也 ...

  6. hdu 3294 Girls&#39; research

    #include<stdio.h> #include<string.h> #define MAX 200020 char s[MAX],ss[MAX*2],str[2]; in ...

  7. ubuntu-通配符

    ubuntu下的通配符主要有三个 1.*  这个是匹配任意一个或多个字符 ab1.txt ab2.txt ab3.txt abc.txt 执行命令以及结果如下 zhangshuli@zhangshul ...

  8. 18.C语言多线程总结

    创建一个线程 _beginthread(myfun, , NULL);//返回值是一个HANDLE hd[i] = CreateThread(NULL, , add, NULL, , NULL);// ...

  9. Cisco安全防护读书笔记之一Cisco系统设备协议漏洞

    650) this.width=650;" onclick='window.open("http://blog.51cto.com/viewpic.php?refimg=" ...

  10. vue中v-for的用法以及参数的作用

    <template> <div> <div class="content clearfix" v-on:click="goorderingD ...