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 ...
随机推荐
- 【ELK Stack】ELK+KafKa开发集群环境搭建
部署视图 运行环境 CentOS 6.7 x64 (2核4G,硬盘100G) 需要的安装包 Runtime jdk1.8 : jdk-8u91-linux-x64.gz (http://www.ora ...
- overlay-scrollbar-js
function doAccept() { var div = $('#shadowbox .legal-gate-cont') var con = $('#shadowbox .html') var ...
- nginx 的中文配置详细解释
文章转自:http://www.ha97.com/5194.html 更详细的模块参数请参考:http://wiki.nginx.org/Main #定义Nginx运行的用户和用户组 user www ...
- Java设计模式-工厂方法模式(Factory Method)
工厂方法模式(Factory Method) 工厂模式适合:凡是出现了大量的产品需要创建,并且具有共同的接口时,可以通过工厂方法模式进行创建.在以下的三种模式中,第一种如果传入的字符串有误,不能正确创 ...
- Hibernate-缓存-并发策略
当多个并发的事务同时访问持久化层的缓存中的相同数据时,会引起并发问题,必须采用必要的事务隔离措施. 在进程范围或集群范围的缓存,即第二级缓存,会出现并发问题.因此可以设定以下4种类型的并发访问策略,每 ...
- BZOJ2654 tree
Description 给你一个无向带权连通图,每条边是黑色或白色.让你求一棵最小权的恰好有need条白色边的生成树. 题目保证有解. Input 第一行V,E,need分别表示点数,边数和需要的白色 ...
- asp.net input怎么获取值
前台: <input type="hidden" name="content" value="content"> 后台: Req ...
- GCC、Makefile编程学习
相关学习资料 http://gcc.gnu.org/ https://gcc.gnu.org/onlinedocs/ http://zh.wikipedia.org/zh/GCC http://blo ...
- javax/faces/webapp/FacesServlet
严重: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component ...
- JSP业务逻辑层
经典的三层架构:表示层.业务逻辑层和数据访问层 具体的区分方法 1:数据访问层:主要看你的数据层里面有没有包含逻辑处理,实际上他的各个函数主要完成各个对数据文件的操作.而不必管其他操作. 2:业务逻辑 ...