hdu 1172 猜数字(暴力枚举)
这是一道可以暴力枚举的水题。
//以下两个都可以ac,其实差不多一样,呵呵
//1:
//4 wei shu
#include<stdio.h>
struct tt
{
char a[],b[],c[];
}e[]; int main()
{
int n,i,count,j,num[],mark[],yi,flag,a1,a2,a3,a4;
while(scanf("%d",&n),n)
{
for(i=;i<n;i++)
{
scanf("%s%s%s",e[i].a,e[i].b,e[i].c);
}
yi=;flag=;
num[]=;num[]=num[]=num[]=;
for(j=;j<;j++)
{
for(i=;i<n;i++)
{
count=;
for(int ii=;ii<;ii++)
if(num[ii]==e[i].a[ii]-'')
count++;
if(count!=e[i].c[]-'')break; for(int q=;q<;q++)mark[q]=; count=;
for(int ii=;ii<;ii++)
{
for(int jj=;jj<;jj++)
{
if(num[ii]==e[i].a[jj]-''&&mark[jj]==)
{mark[jj]=,count++;break;}
}
}
if(count!=e[i].b[]-'')break;
}
if(i==n)
{
flag++;
if(yi==)a1=num[],a2=num[],a3=num[],a4=num[],yi=;
}
num[]++;
if(num[]>)//原来之前是这里细节出错了,要注意哦
num[]++,num[]=num[]%;
if(num[]>)
num[]++,num[]=num[]%;
if(num[]>)
num[]++,num[]=num[]%;
num[]=num[]%;
}
if(flag==)
printf("%d%d%d%d\n",a1,a2,a3,a4);
else
printf("Not sure\n");
}
return ;
}
//2:
#include<stdio.h>
struct tt
{
char a[],b[],c[];
}e[];
int main()
{
int n,i,count,j,num[],flag,a1,a2,a3,a4;
bool yi,mark[];
while(scanf("%d",&n),n)
{
for(i=;i<n;i++)scanf("%s%s%s",e[i].a,e[i].b,e[i].c);
yi=false;
num[]=num[]=num[]=num[]=flag=;
for(j=;j<;j++)
{
for(i=;i<n;i++)
{
count=;
for(int ii=;ii<;ii++)
if(num[ii]==e[i].a[ii]-'')count++;
if(count!=e[i].c[]-'')break; for(int q=;q<;q++)mark[q]=false; count=;
for(int w=;w<;w++)
for(int r=;r<;r++)
if(num[w]==e[i].a[r]-''&&!mark[r])
{mark[r]=true,count++;break;}
if(count!=e[i].b[]-'')break;
}
if(i==n){
flag++;
if(!yi)a1=num[],a2=num[],a3=num[],a4=num[],yi=true;
}
num[]++;
if(num[]>)num[]++,num[]=num[]%; //原来之前是这里细节出错了,要注意哦
if(num[]>)num[]++,num[]=num[]%;
if(num[]>)num[]++,num[]=num[]%;
num[]=num[]%;
}
if(flag==)printf("%d%d%d%d\n",a1,a2,a3,a4);
else printf("Not sure\n");
}
return ;
}
//不过2很神奇的是0毫秒,原因不详
hdu 1172 猜数字(暴力枚举)的更多相关文章
- hdu1172猜数字(暴力枚举)
猜数字 Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- HDU 1172 猜数字(DFS)
猜数字 Time Limit:10000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status ...
- hdu 1172 猜数字
猜数字 Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- HDU 1172 猜数字 (模拟)
题目链接 Problem Description 猜数字游戏是gameboy最喜欢的游戏之一.游戏的规则是这样的:计算机随机产生一个四位数,然后玩家猜这个四位数是什么.每猜一个数,计算机都会告诉玩家猜 ...
- hdu - 1172 猜数字 (思维题)
http://acm.hdu.edu.cn/showproblem.php?pid=1172 这个题换一种想法,可以找出四位数中所有满足条件的数看是否只有一个. #include <iostre ...
- [HDOJ] 1172.猜数字
Problem Description 猜数字游戏是gameboy最喜欢的游戏之一.游戏的规则是这样的:计算机随机产生一个四位数,然后玩家猜这个四位数是什么.每 猜一个数,计算机都会告诉玩家猜对几个数 ...
- HDU 2178.猜数字【分析能力练习】【读题能力练习】【8月10】
猜数字 Problem Description A有1数m.B来猜.B每猜一次,A就说"太大"."太小"或"对了" . 问B猜n次能够猜到的 ...
- HDU 5778 abs (暴力枚举)
abs Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Problem De ...
- HDU 1015.Safecracker【暴力枚举】【8月17】
Safecracker Problem Description === Op tech briefing, 2002/11/02 06:42 CST === "The item is lo ...
随机推荐
- 解析XML文档之二:使用PULL解析
第一步:解析文档为一下文档 <?xml version="1.0" encoding="UTF-8"?> <students> < ...
- 内核 current宏解析
Technorati 标签: current thread_info 在内核中,可以通过current宏来获得当前执行进程的task_struct指针.现在来简要分析以下: 最原始 ...
- linux中的namespace
本文将就namespace这个知识点,进行简单的归纳总结,力求通俗易通.在资料汇总的过程中,参考了许多网上的博客资料,在文章尾部给出相关链接. namespace,命名空间,从名字 ...
- .Net三维控件
AnyCAD .Net三维建模和可视化控件为.Net 4.0开发者提供简单易用的三维建模.三维可视化和文件交换的API. 30天试用版下载: 1. 三维建模 三维建模有以下功能: 三维基本体,如点. ...
- Firefox 与 IE 对Javascript和CSS的区别
1. document.formName.item("itemName") 问题 说明:IE下,可以使用document.formName.item("itemName& ...
- Allegro设置十字大光标
使用大十字光标,在摆放元器件时,容易对齐.在allegro中,可以通过设置实现大十字光标,其具体方法如下: 1.选择Setup->User Perferences,即可出现如下图所示界面: 2. ...
- 简单的jQuery获取URL的?后带的参数
var con_name = getQueryString("con_name"); //接收con_name function getQueryString(val ...
- Debian7系统安装配置手册
一.安装系统 系统版本:Debian7 参考资料:http://www.myhack58.com/Article/48/66/2013/39802.htm 二.配置源 vi /etc/apt/sour ...
- ASP.NET中的ViewState
曾经在两次面试中都遇到了这个问题,就是ViewState中存储的变量到底存储在哪里.由于基础比较差,以前在学习的时候,就没有注意 到这里的细节,包括Session中存储的变量,所以我想ViewStat ...
- VC Dimension -衡量模型与样本的复杂度
(1)定义VC Dimension: dichotomies数量的上限是成长函数,成长函数的上限是边界函数: 所以VC Bound可以改写成: 下面我们定义VC Dimension: 对于某个备选函数 ...