zoukankan      html  css  js  c++  java
  • C++基础算法学习——猜假币

    有12枚硬币。其中有11枚真币和1枚假币。假币和真
    币重量不同,但不知道假币比真币轻还是重。现在,
    用一架天平称了这些币三次,告诉你称的结果,请你
    找出假币并且确定假币是轻是重(数据保证一定能找
    出来)。例题:POJ1013 称硬币
     输入
    第一行是测试数据组数。
    每组数据有三行,每行表示一次称量的结果。银币标号
    为A-L。每次称量的结果用三个以空格隔开的字符串表示:
    天平左边放置的硬币 天平右边放置的硬币 平衡状态。其
    中平衡状态用``up'', ``down'', 或 ``even''表示, 分
    别为右端高、右端低和平衡。天平左右的硬币数总是相等
    的。
     输出
    输出哪一个标号的银币是假币,并说明它比真币轻还是重。

    #include <iostream>
    #include<cstring>
    using namespace std;
    char Left[3][7];
    char Right[3][7];
    char Result[3][7];
    bool isFake(char c,bool light);
    int main()
    {
        int i;
        for(i=0;i<3;i++)
        {
            cin>>Left[i]>>Right[i]>>Result[i];
        }
        char c;
        for(c='A';c<='L';c++)
        {
            if(isFake(c,true))
            {
                cout<<c<<"是假币,重量轻"<<endl;
            }
            else if(isFake(c,false))
            {
                cout<<c<<"是假币,重量重"<<endl;
            }
        }
        return 0;
    }
    bool isFake(char c,bool light)
    {
        char * pleft;
        char * pright;
        int i;
        for(i=0;i<3;i++)
        {
            if(light)
            {
                pleft=Left[i];
                pright=Right[i];
            }else{
                pleft=Right[i];
                pright=Left[i];
            }
            switch(Result[i][0])
            {
            case 'u':
                if(strchr(pright,c)==NULL)
                    return false;
                break;
            case 'e':
                if(strchr(pright,c)||strchr(pleft,c))
                    return false;
                break;
            case 'd':
                if(strchr(pleft,c)==NULL)
                    return false;
                break;
            }
        }
        return true;
    }
  • 相关阅读:
    Spring相关知识点
    动态代理jdk和cglib的区别
    keepalived+nginx+tomcat+redis集群环境部署
    MongoDB_4.4 安装和配置
    vsCode 账号间同步 配置,插件
    vue 全局导航 router.beforeEach()
    网页左右两边元素高度自适应,两个元素高度一致,一面高度跟随另一面的高度变化而变化
    git 中 ssh key 的生成
    vscode html 自定义模板
    vscode vue 定义 单文件模板
  • 原文地址:https://www.cnblogs.com/JsonZhangAA/p/7211792.html
Copyright © 2011-2022 走看看