下面先附上我的水货代码,,,,一会附上,,,刘大婶给的代码///////3ms

#include<stdio.h>
#include<string.h>
int main()
{
int A,B,W=,t,n,m,i,j,q,a[],b[],c[];
while(scanf("%d",&t),t)
{
W++;
printf("Game %d:\n",W);
for(A=B=i=;i<t;i++)
{
scanf("%d",&a[i]);
}
for(;;)
{
for(A=B=i=;i<t;i++)
{
scanf("%d",&b[i]);
}
for(i=;i<t;i++)
c[i]=a[i];
//strcpy(c,a);
for(q=i=;i<t;i++)
{
if(b[i]==)
q++;
}
if(q==t)
break;
for(i=;i<t;i++)
{
if(a[i]==b[i])
A++; //这个是序号能对应上的 个数....
}
for(i=;i<t;i++) //原版是a[i].c[i]是原版的复制品...b[i]是猜测的
{
for(j=;j<t;j++)
{
if(c[i]==b[j])
{
c[i]=b[j]=-;
B++;
break;
}
}
}
printf(" (%d,%d)\n",A,B-A);
}
}
}

下面附上刘大婶的代码...相对来说人家的   又简单,时间复杂度又低

#include<stdio.h>
#define maxn 1010
int main()
{
int A,B,i,n,d,a[maxn],b[maxn];
int kase=;
while(scanf("%d",&n),n)
{
printf("Game %d:\n",++kase);
for(i=;i<n;i++) // 这是需要猜的数组.
scanf("%d",&a[i]);
for(;;) //汗, 这里和大婶想的挺像的.
{
A=B=;
for(i=;i<n;i++) //这是 你猜的数组
{
scanf("%d",&b[i]);
if(a[i]==b[i]) //在输入的时候就顺便得到了对应位置相同的 数字.
A++;
}
if(b[]==)// 英文题目上已经说过.
break;
for(d=;d<=;d++)
{
int c1=,c2=; //
for(i=;i<n;i++)
{
if(a[i]==d) //统计一下 需要被猜的数组里面 1的个数
c1++;
if(b[i]==d) //统计一下 猜测数列里1的个数.
c2++;
}
if(c1<c2) //然后将 相同的 加起来
{
B=B+c1;
}
else
{
B=B+c2;
}
}
printf(" (%d,%d)\n",A,B-A);
}
}
return ;
}

例题3-4 master-mind hints的更多相关文章

  1. UVA340-Master-Mind Hints(紫书例题3.4)

    MasterMind is a game for two players. One of them, Designer, selects a secret code. The other, Break ...

  2. 【例题3-4 UVA - 340】Master-Mind Hints

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 这里出现了没有在相同位置的只能唯一配对. 就是说 3322 2234 这种情况. 只有3个weak pair. 即key[1]=a[ ...

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

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

  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. poj1064 Cable master(二分)

    Cable master 求电缆的最大长度(二分法)   Description Inhabitants of the Wonderland have decided to hold a region ...

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

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

  7. 通过一道简单的例题了解Linux内核PWN

    写在前面 这篇文章目的在于简单介绍内核PWN题,揭开内核的神秘面纱.背后的知识点包含Linux驱动和内核源码,学习路线非常陡峭.也就是说,会一道Linux内核PWN需要非常多的铺垫知识,如果要学习可以 ...

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

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

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

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

随机推荐

  1. springboot 第一个程序

    idea --> new project --> 选择Spirng Initializr --> next 傻瓜式操作  --> 添加web依赖 项目基本结构: 创建contr ...

  2. 关于maven多个模块的build顺序 [INFO] Reactor Build Order

    对于一个maven项目,如果有多个模块,那么它们的执行顺序是什么样的呢? 在执行mvn操作的时候,你可以看到如下信息,这个便是maven的build顺序 那么maven是如何决定顺序的呢?如下: 在多 ...

  3. Delphi中匿名方法动态绑定事件

    应恢弘之约,写了一个对其发布的匿名函数动态绑定到事件的封装,代码如下: type TAnonEvent=class public class function Wrap<T1,T2>(On ...

  4. 搜索引擎keyword智能提示的一种实现

    问题背景 搜索关键字智能提示是一个搜索应用的标配.主要作用是避免用户输入错误的搜索词,并将用户引导到相应的关键词上,以提升用户搜索体验. 美团CRM系统中存在数以百万计的商家,为了让用户高速查找到目标 ...

  5. Office EXCEL 表格如何设置某个单元格是选择项,如何设置一级下拉菜单

    1 比如我要在C这一列都做成下拉菜单,则我选中这一列的第一个单元格,然后点击数据-有效性,然后把允许改成"序列",在来源中输入每一项(用逗号隔开),比如我一共要做四个下拉菜单选项, ...

  6. VC++ error C1083 无法打开包括文件 fstream.h,iostream.h怎么办

    1 如下图所示,VS中不支持iostream.h和fstream.h的说法   2 改成下面三行就可以编译通过了 #include<iostream> #include <fstre ...

  7. powershell 通过SMTP发送邮件

    一直以来就用.net的方式发送邮件.由于powershell自带的方式用起来easy出错.且比較简单,近期看到一些人也反应使用中遇到麻烦. #定义函数 function sendmail($maila ...

  8. Deepin-键盘快捷键

    是不是很happy呢? 可以用键盘替代鼠标点点点了! 1.鼠标移到右下角 2.下翻找到"快捷键" 3.自定义一个 4.示例(首先编写个简单的Shell) 程序一般放在/usr/bi ...

  9. js中字符串的拼接的另一种方法

    // 按一定长度截断字符串,并使用 + 运算符进行连接. // 分隔字符串尽量按语义进行,如不要在一个完整的名词中间断开. // 特别的,对于HTML片段的拼接,通过缩进,保持和HTML相同的结构. ...

  10. 输入年份,然后打印出该年的万年历,以及标识出当天日期。相似于linux下的cal -y结果。

    public class Permanent { public static boolean isLeapYear(int year){//能被4整除但不能被100整除.或者能被400整除 boole ...