zoukankan      html  css  js  c++  java
  • 24点

    superwyh是一个非常疯狂的24点爱好者,空闲时总是自己拿出扑克来算24点,24点的规则很简单,就是给你4张扑克(从1至13,用A代替1,J代替11,Q代替12,K代替13)通过加减乘除来求得24,各位oier帮了superwyh好多忙,为了报答大家superwyh就和大家做个24点的游戏,superwyh给大家4张牌大家告诉superwyh能不能凑成24就行。

    [renqing PS:这道题很easy,是送分的题]

    输入格式4张牌的牌面(1<=n<=13)。 
    输出格式如果能凑成输出”yes”反之输出”no”。 

    样例输入

    A 2 3 4

    输出

    yes

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    int flag[5]={0},num=0,a[5];
    string c;
    int cd[5];
    bool used[5];
    bool dfs1(int depth,double amount)
       {
       if (depth==4)
       {
          if (amount>23.999999&&amount<24.000001) return 1;
          else return 0;
       }
          else
          {
             for (int i=0;i<4;i++)
                 if (!used[i])
                 {
                 used[i]=1;
                 if (dfs1(depth+1,amount+cd[i])) return 1;
                 if (dfs1(depth+1,amount-cd[i])) return 1;
                 if (dfs1(depth+1,cd[i]-amount)) return 1;
                 if (amount!=0&&dfs1(depth+1,amount*cd[i])) return 1;
                 if (amount!=0&&dfs1(depth+1,amount/cd[i])) return 1;
                 if (amount!=0&&dfs1(depth+1,cd[i]/amount)) return 1;
                 used[i]=0;
                 }
       return 0;
       }
    }
    int main()
    {
       for(int i=0;i<=3;i++)
       {
          cin>>c;
          if(c[0]=='A')cd[i]=1;
          else if(c[0]=='J')cd[i]=11;
          else if(c[0]=='Q')cd[i]=12;
          else if(c[0]=='K')cd[i]=13;
          else if(c[0]=='1' && c[1]=='0')cd[i]=10;
          else cd[i]=c[0]-'0';
    }
       if(dfs1(0,0))
       cout<<"yes"<<endl;
       else
       cout<<"no"<<endl;
       return 0;
    }
  • 相关阅读:
    srvany.exe和instsrv.exe_2
    srvany.exe和instsrv.exe
    C# “国密加密算法”SM系列的C#实现方法
    DMZ讲解
    java 判断字符串是否为json格式
    MFC DrawText如何使多行文字居中显示 Demo
    C++ 实现一个日志类
    数据库两个神器【索引和锁】
    CentOS 7.*编译安装PHP8
    Centos添加永久环境变量
  • 原文地址:https://www.cnblogs.com/637w/p/10200272.html
Copyright © 2011-2022 走看看