例题3-4 master-mind hints
下面先附上我的水货代码,,,,一会附上,,,刘大婶给的代码///////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的更多相关文章
- UVA340-Master-Mind Hints(紫书例题3.4)
MasterMind is a game for two players. One of them, Designer, selects a secret code. The other, Break ...
- 【例题3-4 UVA - 340】Master-Mind Hints
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 这里出现了没有在相同位置的只能唯一配对. 就是说 3322 2234 这种情况. 只有3个weak pair. 即key[1]=a[ ...
- [C++]猜数字游戏的提示(Master-Mind Hints,UVa340)
[本博文非博主原创,思路与题目均摘自 刘汝佳<算法竞赛与入门经典(第2版)>] Question 例题3-4 猜数字游戏的提示(Master-Mind Hints,UVa340) 实现一个 ...
- [转]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 ...
- poj1064 Cable master(二分)
Cable master 求电缆的最大长度(二分法) Description Inhabitants of the Wonderland have decided to hold a region ...
- 全面理解Python中的类型提示(Type Hints)
众所周知,Python 是动态类型语言,运行时不需要指定变量类型.这一点是不会改变的,但是2015年9月创始人 Guido van Rossum 在 Python 3.5 引入了一个类型系统,允许开发 ...
- 通过一道简单的例题了解Linux内核PWN
写在前面 这篇文章目的在于简单介绍内核PWN题,揭开内核的神秘面纱.背后的知识点包含Linux驱动和内核源码,学习路线非常陡峭.也就是说,会一道Linux内核PWN需要非常多的铺垫知识,如果要学习可以 ...
- xamarin MasterDetailPage点击Master时卡顿现象
在很多项目中经常会使用到MasterDetailPage的布局方式,而且一般做为主页面来开发,在开发中,发现一个并不算Bug的问题,但是却发生了,以此记录下来,方便大家探讨. 现象是这样的,我开发了一 ...
- backup3:master 数据库的备份和还原
在SQL Server 中,master 数据库记录系统级别的元数据,例如,logon accounts, endpoints, linked servers, and system configur ...
随机推荐
- openstack ocata 的cell 和 placement api
The Ocata openstack just released recently. The official docs is not very stable yet. Some key steps ...
- 关于Chrome谷歌浏览器开发者工具网络Network中返回无数据的问题
1.如图所示,对于有些js文件,响应中无返回数据,Failed to load response data,当然本来是应该有数据,你用火狐浏览器看,就是有的,或者直接在浏览器地址栏里输入url,也可以 ...
- Meteor第一个应用程序
这一个小教程将教你如何建立你的第一个 Meteor 应用程序. 步骤 1 - 创建App 要创建应用程序,我们将从命令提示符窗口运行 meteor create 命令.该应用程序的名称是 meteor ...
- linux上安装启动elasticsearch-5.5.1完整步骤
linux上安装启动elasticsearch-5.5.1完整步骤 学习了:https://blog.csdn.net/hingcheung/article/details/77144574 http ...
- 基于 Vue.js 之 iView UI 框架非工程化实践记要 使用 Newtonsoft.Json 操作 JSON 字符串 基于.net core实现项目自动编译、并生成nuget包 webpack + vue 在dev和production模式下的小小区别 这样入门asp.net core 之 静态文件 这样入门asp.net core,如何
基于 Vue.js 之 iView UI 框架非工程化实践记要 像我们平日里做惯了 Java 或者 .NET 这种后端程序员,对于前端的认识还常常停留在 jQuery 时代,包括其插件在需要时就引 ...
- ZOJ 3228 Searching the String (AC自己主动机)
题目链接:Searching the String 解析:给一个长串.给n个不同种类的短串.问分别在能重叠下或者不能重叠下短串在长串中出现的次数. 能重叠的已经是最简单的AC自己主动机模板题了. 不能 ...
- 自己定义验证器——用Struts2框架以框架师的思维灵活做好该事情
面对的问题:自己定义一个18位身份验证器.编写验证器.在validators.xml文件里进行注冊.在验证配置文件里使用? 第一部分:理解Struts2中自带的验证器 第二部分:如何通过server( ...
- RabbitMQ通过shovel插件迁移数据
前言 生产环境中会遇到RabbitMQ数据迁移的场景,例如:切换云服务厂商.不同Region之间数据迁移.新搭建RabbitMQ实例,数据需要同步至新的RabbitMQ实例. 前提条件: 源Rabbi ...
- Android 常用Shell命令
1.查询模拟器/设备实例 adb devices 2.从模拟器/设备中拷入或拷出文件(默认拷贝在执行目录) 从模拟器或者设备中复制文件或目录,使用(如下命): adb pull <remote& ...
- CSDN公开课:SCRUM敏捷开发(2015-8-19 免费)
当前最火的敏捷可能就是SCRUM了.但敏捷无法落地.对人要求太高.老板对敏捷动机不良等问题怎样解决呢?我将在CSDN的公开课上为大家分享"SCRUM敏捷开发".各位朋友有杀错没放过 ...