例题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 ...
随机推荐
- JAVA 比较两张图片的相似度的代码
原文:http://www.open-open.com/code/view/1448334323079 import java.awt.image.BufferedImage; import java ...
- topcoder srm 550
div1 250pt: 题意:有个机器人,从某一点出发,他只有碰到地形边缘或者碰到走过的点时才会改变运动方向,然后接着走,现在给出他的运动轨迹,判断他的运动是否合法,如果合法的话,那么整个地形的最小面 ...
- Linux 命令 sudo
sudo 这个命令. 是为了 让 普通用户 ,也能够以root的身份来运行 操作, 而这些普通用户 又不须要知道root的password. 在 sudo 运行命令的时候. 仅仅须要 输入自己的pas ...
- react-router-redux
reducer与按需加载组件的时候,一并加载对应的state,具体流程就不多说了,看代码! reducer import { combineReducers } from 'redux' import ...
- CodeForces 404 Marathon ( 浮点数取模 -- 模拟 )
B. Marathon time limit per test 1 second memory limit per test 256 megabytes input standard input ou ...
- C++常用的函数,好的博客文章整理,集锦
http://www.cnblogs.com/xianghang123/archive/2011/08/24/2152404.html c语言产生随机数的方法 http://blog.sina. ...
- getifaddrs
getifaddrs 获取本地网络接口的信息.在路由器上可以用这个接口来获取wan/lan等接口当前的ip地址,广播地址等信息. #include <sys/types.h> #inclu ...
- 【iOS系列】- iOS吸附效果的实现 之 UICollectionView的使用全解
[iOS系列]- iOS吸附效果的实现 之 UICollectionView的使用全解 UICollectionView可以做很多的布局,在iOS开发中较为重要,所以这里就以实例来讲解UICollec ...
- ACTION 关联表之间查询语句 SQL语句写法
/** EquUseRecord * @author cll * @return * @右边菜单中的使用记录操作 */ public String QueryAllEquUserecordAllInf ...
- openfire源码编译后部署到linux
1.源码通过编号后,会生成target目录,直接把target目录拷贝到linux下即可: 2.启动openfire: ./openfire.sh start 3.退出直接ctr + c 问题:如果一 ...