首页 > 其他分享 >真假硬币谁重?

真假硬币谁重?

时间:2023-06-06 19:56:47浏览次数:17  
标签:硬币 int char result 真假 include

枚举算法之真假硬币的是谁之假硬币的轻or重?

 1 #include<iostream>
 2 #include<cstring>
 3 using namespace std;
 4 char Left[3][7];
 5 char Right[3][7];
 6 char result[3][7];
 7 bool isfake(char c,bool light) ;
 8 int main()
 9 {
10     int t;
11     cin>>t;
12     while(t--){
13         for(int i=0;i<3;++i)  cin>>Left[i]>>Right[i]>>result[i]; 
14          for(char c='A';c<='L';c++){
15             if(isfake(c,true))
16             {
17                 cout<<c<<"  is the counterfeit coin and it is light.";
18                 break;
19             }    
20             else if(isfake(c,false)){
21                 cout<<c<<"  is the counterfeit coin and it is light.";
22                 break;
23             }    
24         }
25     }
26 }
27 bool isfake(char c,bool light)
28 {
29     for(int i=0;i<3;++i)
30     {
31         char * pl,*pr;//
32         if (light)
33         {
34             pl =Left[i];
35             pr=Right[i];
36         }
37         else { //
38             pl =Right[i];
39             pr =Left[i];
40         }
41     switch(result[i][0]){
42         case 'u':
43             if(strchr(pr,c) == NULL)
44                 return false;
45             break;
46         case 'e':
47             if(strchr(pl,c)||strchr(pr,c))
48                 return false;
49             break;
50         case'd':
51             if(strchr(pl,c)==NULL)
52                 return false;
53             break;
54         } 
55     }
56     return true;
57 }
58 /*真假硬币 
59 12枚硬币,1枚假的硬币,不知轻重
60 要求:找出哪个是假的硬币,称过三次,假币是重的还是轻的
61 输入样例:
62 1
63 ABCD EFGH even
64 ABCI EFJK up
65 ABIJ EFGH even
66 输出样例:
67 K是假的硬币,是轻的。
68 K is the counterfeit coin and it is light
69 枚举法 
70 */

 

标签:硬币,int,char,result,真假,include
From: https://www.cnblogs.com/dslyyy/p/17461548.html

相关文章

  • 机器学习——分辨真假kunkun
    一、选题背景    人脸识别技术是模式识别和计算机视觉领域最富挑战性的研究课题之一,也是近年来的研究热点。蔡徐坤作为新一代偶像,引人注目,外号鸡哥。真假kunkun识别就是向计算机输入坤坤或着鸡的图像,经过某种方法或运算,得出其结果。识别真假kunkun也受到了广泛地关注。这......
  • 动态规划(一)硬币找零,机器人路径
    动态规划(DynamicProgramming,简称DP),虽然抽象后进行求解的思路并不复杂,但具体的形式千差万别,找出问题的子结构以及通过子结构重新构造最优解的过程很难统一,并不像回溯法具有解决绝大多数问题的银弹。动态规划求解的一般思路1.硬币找零扩展1:单路取苹果扩展2:机器人路径2.字符......
  • 硬币翻转
    题目描述在桌面上有一排硬币,共N枚,每一枚硬币均为正面朝上。现在要把所有的硬币翻转成反面朝上,规则是每次可翻转任意N−1枚硬币(正面向上的被翻转为反面向上,反之亦然)。求一个最短的操作序列(将每次翻转N-1枚硬币成为一次操作)。输入格式一个自然数N(N为不大于100100的偶数)。输......
  • P8597 [蓝桥杯 2013 省 B] 翻硬币
    #include<bits/stdc++.h>usingnamespacestd;chara[1010],b[1010];intans;intkey=0;//置为0表示关闭计数intmain(){scanf("%s",a);scanf("%s",b);for(inti=0;a[i]!='\0';i++){if(a[i]!=b[i]&&......
  • Python 单元测试:assertTrue 和assertFalse 的真假
    导读Lightbot在这篇文章中,我们将介绍单元测试的布尔断言方法assertTrue和assertFalse与身份断言assertIs之间的区别。定义下面是目前单元测试模块文档中关于assertTrue和assertFalse的说明,代码进行了高亮:assertTrue(expr,msg=None)assertFalse(expr,msg=No......
  • 2.11换硬币
    1.问题描述将5元的人民币兑换成1元、5角和1角的硬币,共有多少种不同的兑换方法。2.代码#include<stdio.h> #define N 100 int main(){   int i,j,k;            //i表示1分硬币个数,j表示2分硬币个数,k表示5分硬币个数    int count = 0;  ......
  • 最少硬币支付问题 c的幂次方证明
    假设硬币的面值为\(c^0,c^1,...,c^k\),其中c是一个大于1的整数,k是一个大于等于1的整数。设\(a_i\)是找n分钱的最优解中面值\(c^i\)的硬币的数量,那么对于\(i=0,1,...,k-1\),有\(a_i<c\)。这是因为如果\(a_i>=c\),那么可以用一个面值\(c^{i+1}\)的硬币替换c个面值\(c^i\)的硬币,......
  • AcWing 656. 钞票和硬币
    AcWing656.钞票和硬币1.地址https://www.acwing.com/problem/content/658/2.解答#include<iostream>#include<cstdio>usingnamespacestd;intmain(){intmoney[6]={100,50,20,10,5,2};doublecoins[6]={1.0,0.50,0.25,0.10,0.05,0.01};......
  • 【LeeCode】441. 排列硬币
    【题目描述】你总共有 n 枚硬币,并计划将它们按阶梯状排列。对于一个由 k 行组成的阶梯,其第 i 行必须正好有 i 枚硬币。阶梯的最后一行 可能 是不完整的。给你一个数字 n ,计算并返回可形成 完整阶梯行 的总行数。https://leetcode.cn/problems/arranging-coins/【示例......
  • 力扣-441. 排列硬币
    你总共有 n 枚硬币,并计划将它们按阶梯状排列。对于一个由k行组成的阶梯,其第i行必须正好有i枚硬币。阶梯的最后一行可能是不完整的。给你一个数字 n,计算并返回可形成完整阶梯行的总行数。应该首先判断数据源是否是有序的,先二分。varrs=ArrangeCoins(180428938......