题目大意:假造的银币
Sally Jones有一些游客给的银币,但是只有11枚是真正的银币(有一枚是假的),从颜色和大小是无法区分真比还是假币的,但是它的重量和真币是不同的,Sally Jones它是比真币轻还是重。
幸好的是,Sally Jones的一个朋友有个非常精确的天平,他的朋友允许Sally Jones称三次重量来寻找假币,例如,两个硬币是相同的重,那么这两个都是真的。
其实总共有12玫硬币,里面就一枚是假的,然后称量三次,找出那个假币,就是这样。
好吧,是不是可以直接用拿出一枚硬币然后判断如果这枚硬币是假的,看看能不能别的都没问题,算是暴力做法。试试吧

竟然对了,无语--

#include<stdio.h>

#include<string.h>
#define maxn 15
struct node
{
    char qian[maxn], hou[maxn];
    int k;//0代表等enen,-1代表up, 1代表down
}a[maxn];
int Judge(char x, node b, int k)
{
    if(strchr(b.qian, x))
    {
        if(k==0 && b.k==1 || k==1 && b.k==-1)
            return 1;
        return 0;
    }
    if(strchr(b.hou, x))
    {
        if(k==0 && b.k==-1 || k==1 && b.k==1)
            return 1;
        return 0;
    }
    if(b.k == 0)
        return 1;
    return 0;
}
int main()
{
    int T;
    scanf("%d", &T);
    while(T--)
    {
        int i, j, ans, k;
        char s[maxn];
        for(i=0; i<3; i++)
        {
            scanf("%s%s%s", a[i].qian, a[i].hou, s);
            if(s[0] == 'e')
                a[i].k = 0;
            else if(s[0] == 'u')
                a[i].k = -1;
            else if(s[0] == 'd')
                a[i].k = 1;
        }
        for(i=0; i<12; i++)
        {
            k=0;
            for(j=0; j<3; j++)
                if(Judge(i+'A', a[j], k) == 0)
                    break;
            if(j == 3)
                break;
            k=1;
            for(j=0; j<3; j++)
                if(Judge(i+'A', a[j], k) == 0)
                    break;
            if(j == 3)
                break;
        }
        printf("%c is the counterfeit coin and it is %s.\n", i+'A', k? "heavy" : "light");
    }
    return 0;
}

poj1013的更多相关文章

  1. 【poj1013】 Counterfeit Dollar

    http://poj.org/problem?id=1013 (题目链接) 题意 12个硬币中有1个是假的,给出3次称重结果,判断哪个硬币是假币,并且判断假币是比真币中还是比真币轻. Solution ...

  2. POJ1013 Counterfeit Dollar

    题目来源:http://poj.org/problem?id=1013 题目大意:有12枚硬币,其中有一枚假币.所有钱币的外表都一样,所有真币的重量都一样,假币的重量与真币不同,但我们不知道假币的重量 ...

  3. poj1013.Counterfeit Dollar(枚举)

    Counterfeit Dollar Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 415  Solved: 237 Description Sally ...

  4. 北大poj- 1013

    Counterfeit Dollar Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 50515   Accepted: 15 ...

  5. 瞎搞poj1013

    http://poj.org/problem?id=1013 题意:给你标记从A到L的石子,其中有一个石子,可能会轻于其它石子,也可能重于其它石子.你只能通过三次天平的测量去找到这个石子.天平的三个状 ...

  6. POJ1013 称硬币

    题目链接:http://poj.org/problem?id=1013 题目大意 有12枚硬币.其中有11枚真币和1枚假币.假币和真币重量不同,但不知道假币比真币轻还是重.现在,用一架天平称了这些币三 ...

  7. POJ1013称硬币【枚举】

    Counterfeit Dollar Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 52474   Accepted: 16 ...

  8. 枚举-称硬币POJ1013

    #include <iostream> #include<string.h> using namespace std; char Lleft[][]; char Lright[ ...

  9. ACM训练计划建议(写给本校acmer,欢迎围观和指正)

    ACM训练计划建议 From:freecode#  Date:2015/5/20 前言: 老师要我们整理一份训练计划给下一届的学弟学妹们,整理出来了,费了不少笔墨,就也将它放到博客园上供大家参考. 菜 ...

随机推荐

  1. OpenWrt启动过程分析

    openwrt是通过一系列shell脚本进行启动流程的组织,下面是启动流程的提纲.如 果想详细了解启动的过程,则需要仔细走读脚本文件. 1. 在make menuconfig 选择target平台 B ...

  2. anjularjs slider控件替代方案

    做项目需要一个slider控件,找了很久没有找到合适的指令集,无意间看到可以直接用range替代,不过样式有点丑. <label> <input type="range&q ...

  3. 【转】 CoreGraphics QuartzCore CGContextTranslateCTM 用法

    原文:http://blog.csdn.net/sqc3375177/article/details/25708447 CoreGraphics.h 一些常用旋转常量 #define M_E 2.71 ...

  4. (whh仅供自己参考)进行ip网络请求的步骤

    这个过程大致是这个样子: 1 添加通知 2 发送网络请求 里边有一个发送通知的操作 3 执行发送通知的具体操作 代码如下: 1 在VC添加通知 [[NSNotificationCenter defau ...

  5. 浅析CSS中的haslayout

    作为一名web开发人员,最大的希望不是自己的水平有多高,而是希望浏览器厂家能够统一标准,相信任何一个只要是接触过web程序开发的人员都有那样的感受,就是浏览器之间的兼容性问题总是让我们的工作平添诸多的 ...

  6. Jquery 点击空白处消失

    $(document).bind("click", function (e){ if ( $((e.target || e.srcElement)).closest("# ...

  7. ZOJ 刷题记录 (。・ω・)ノ゙(Progress:31/50)

    [热烈庆祝ZOJ回归] P1002:简单的DFS #include <cstdio> #include <cstring> #include <algorithm> ...

  8. SQL服务器名称的更改

    SQL服务器名称的更改   1.使用select @@ServerName可以看到当前数据库的服务器名称 2.从Sys.SysServers表中可以看到当前的所有服务器名称 3.使用 sp_drops ...

  9. Fedora上配置一个安全FTP

    现在流行的FTP服务器,比较著名的有WU-FTP(Washington University FTP)和VSFTP(Very Secure FTP 非常安全的FTP)以及Proftp,pureftp等 ...

  10. Delphi中停靠技术的实现

    随着软件技术的不断进步,软件界面也越来越美观,操作也越来越方便.综观市面上比较专业的各种软件,我们会发现大部分都提供窗体停靠的功能,特别象工具软件,基本上都或多或少有停靠功能.自然,Delphi也支持 ...