poj1013.Counterfeit Dollar(枚举)
Counterfeit Dollar
Time Limit: 1 Sec Memory Limit: 64 MB Submit: 415 Solved: 237
Description
Input
Output
Sample Input
1
ABCD EFGH even
ABCI EFJK up
ABIJ EFGH even
Sample Output
K is the counterfeit coin and it is light.
HINT
一开始想的死复杂,后来同学跟我说只要assume一个字母为假 , 并分别assume它为正或负,枚举即可。
想想也是 ,才12个。orz
#include<stdio.h>
#include<string.h>
int T ;
bool a[] ;
char b[] , A ;
bool flag , blog; struct st
{
char l[] , r[] ;
char jud[] ;
}e[]; void solve (int k , int l , int r)
{
if (l == r ) {
if (strcmp (e[k].jud , "even") == ) {
return ;
}
}
else if (l > r) {
if (strcmp (e[k].jud , "up") == ) {
return ;
}
}
else if (l < r) {
if (strcmp (e[k].jud , "down") == ) {
return ;
}
}
blog = ;
} int main ()
{
// freopen ("a.txt" , "r" , stdin ) ;
scanf ("%d" , &T ) ;
while (T--) {
for (int i = ; i <= ; i++) {
scanf ("%s" , e[i].l) ;// puts (e[i].l) ;
scanf ("%s" , e[i].r) ;// puts (e[i].r) ;
scanf ("%s" , e[i].jud) ;// puts (e[i].jud) ;
}
flag = ;
for (int i = ; i < && !flag ; i++) {
for (int j = ; j < ; j++) {//假的比较轻
a[j] = ;
}
a[i] = ;
blog = ;
for (int k = ; k <= ; k++) {
int l = , r = ;
for (int s = ; e[k].l[s] != '\0' ; s ++ ) {
l += a[e[k].l[s] - 'A'] ;
}
for (int s = ; e[k].r[s] != '\0' ; s ++ ) {
r += a[e[k].r[s] - 'A'] ;
}
solve (k , l , r) ;
if (!blog)
break ;
}
if (blog) {
flag = ;
A = 'A' + i ;
strcpy (b , "light") ;
}
}
if (!flag)
for (int i = ; i < && !flag ; i++) {
for (int j = ; j < ; j++) {//假的比较重
a[j] = ;
}
a[i] = ;
blog = ;
for (int k = ; k <= ; k++) {
int l = , r = ;
for (int s = ; e[k].l[s] != '\0' ; s ++ ) {
l += a[e[k].l[s] - 'A'] ;
}
for (int s = ; e[k].r[s] != '\0' ; s ++ ) {
r += a[e[k].r[s] - 'A'] ;
}
solve (k , l , r) ;
if (!blog)
break ;
}
if (blog) {
flag = ;
A = 'A' + i ;
strcpy (b , "heavy" ) ;
}
}
printf ("%c is the counterfeit coin and it is %s.\n" , A , b ) ;
}
return ;
}
poj1013.Counterfeit Dollar(枚举)的更多相关文章
- POJ1013 Counterfeit Dollar
题目来源:http://poj.org/problem?id=1013 题目大意:有12枚硬币,其中有一枚假币.所有钱币的外表都一样,所有真币的重量都一样,假币的重量与真币不同,但我们不知道假币的重量 ...
- POJ 1013 Counterfeit Dollar
Counterfeit Dollar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 36206 Accepted: 11 ...
- Poj 1013 Counterfeit Dollar / OpenJudge 1013(2692) 假币问题
1.链接地址: http://poj.org/problem?id=1013 http://bailian.openjudge.cn/practice/2692 http://bailian.open ...
- POJ 1013:Counterfeit Dollar
Counterfeit Dollar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 42028 Accepted: 13 ...
- Counterfeit Dollar -----判断12枚钱币中的一个假币
Counterfeit Dollar Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u ...
- Counterfeit Dollar 分类: POJ 2015-06-12 15:28 19人阅读 评论(0) 收藏
Counterfeit Dollar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 41559 Accepted: 13 ...
- 【poj1013】 Counterfeit Dollar
http://poj.org/problem?id=1013 (题目链接) 题意 12个硬币中有1个是假的,给出3次称重结果,判断哪个硬币是假币,并且判断假币是比真币中还是比真币轻. Solution ...
- POJ 1013 Counterfeit Dollar 集合上的位运算
Description Sally Jones has a dozen Voyageur silver dollars. However, only eleven of the coins are t ...
- D - Counterfeit Dollar(第二季水)
Description Sally Jones has a dozen Voyageur silver dollars. However, only eleven of the coins are t ...
随机推荐
- Xml命名空间浅析
XML实例 在介绍xml命名空间之前,我们先来看段xml代码: <?xml version="1.0" encoding="UTF-8"?> < ...
- Orchard创建自定义表单
本文链接:http://www.cnblogs.com/souther/p/4520130.html 主目录 自定义表单模块可以用来获取网站前台用户的信息.自定义表单需要与一个内容类型结合使用.它可以 ...
- .net 开发人员如何自处
关于N家还是J家,谁家更阔绰有前途的问题,每年都要讨论一会,当然和各位兄弟在岗位上迷茫,不知位置在哪有关系,不过这个问题基本算是伪问题,这种东西放到更高的维度,真的什么都不是. 但是为什么J家好像是不 ...
- jquery面试需要看的基本东西
1. offset() 方法的学习offset().left offset().top 表示离document的距离.(浏览器可以看到的地方的距离)2. position与offset的区别:a.使用 ...
- js判断页面出现滚动条
当可视区域小于页面的实际高度时,判定为出现滚动条 当我们在获取页面的offsetHeight高度时是包括了浏览器的边框的,浏览器的边框是2个像素, if (document.documentEleme ...
- SequoiaDB 系列之六 :源码分析之coord节点
好久不见. 在上一篇SequoiaDB 系列之五 :源码分析之main函数,有讲述进程开始运行时,会根据自身的角色,来初始化不同的CB(控制块,control block). 在之前的一篇Sequ ...
- 第九课:js的类与继承
因为本书是js的框架设计,因此观看本书的必须有js基础,看不懂,请不要觉得自己差.我也是看了5遍js高级程序设计,才能看懂这本书的. 有关js的构造函数,继承的方法大家可以去看js的高级程序设计,我这 ...
- All thanks
How to make a salad?——Silun Wang 这是一次成功的团队合作,我为所有组员感到骄傲和自豪!感谢你们! 上个学期期末,和@老钱他们一起去五道口吃Pizza,谈到了大三上学期的 ...
- 一篇让Java程序猿随时可以翻看的Oracle总结
来源:http://www.cnblogs.com/bzx888/p/4820712.html 有关的语句和操作基本都是按照实战中的顺序来总结的,比如创建用户,建表,序列初始化,插入数据的顺序呢. 这 ...
- python 条件判断和循环
一.条件判断 if if age>= 18: 记住在判断语句后面要加上 : 还有要注意他的缩进 age = 20if age >= 18: print 'your age ...