• Counterfeit Dollar 1013 pku


    Description:

    http://acm.pku.edu.cn/JudgeOnline/problem?id=1013

    有12枚硬币,11枚硬币是正常的,1枚是假的,可能轻也可能重,Sally通过三次称能够找出假的而且能够找出其轻重

    通过枚举每一枚的轻重看其是否符合,可以通过even剪枝一些情况

    Solution:

    1 #include <stdio.h>
    2 #include <string.h>
    3
    4  #define CHARSIZE 16
    5
    6 char left[4][CHARSIZE],right[4][CHARSIZE],type[4][CHARSIZE];
    7
    8 int Check(int p,int flag)
    9 {
    10 int i=0,j=0,leftSum=0,rightSum=0;
    11 for (i=0; i<3; i++)
    12 {
    13 leftSum=0;
    14 rightSum=0;
    15 for (j=0;left[i][j]&&right[i][j];j++)
    16 {
    17 if (p+'A' == left[i][j])
    18 leftSum += flag;
    19 else
    20 leftSum += 2;
    21
    22 if (p+'A' == right[i][j])
    23 rightSum += flag;
    24 else
    25 rightSum += 2;
    26 }
    27 if (leftSum == rightSum && strcmp(type[i],"even"))
    28 return 0;
    29 if (leftSum < rightSum && strcmp(type[i],"down"))
    30 return 0;
    31 if (leftSum > rightSum && strcmp(type[i],"up"))
    32 return 0;
    33 }
    34
    35 return 1;
    36 }
    37
    38 int main ()
    39 {
    40 const int len=12;
    41 int testcase=0,i=0,j=0;
    42 int mark[len];
    43
    44 scanf ("%d",&testcase);
    45
    46 while (testcase--)
    47 {
    48 memset((void*)mark,0,sizeof(mark));
    49 for (i=0; i<3; i++)
    50 {
    51 scanf ("%s %s %s",left[i],right[i],type[i]);
    52 if (strcmp(type[i],"even")==0)
    53 {
    54 for (j=0; left[i][j]&&right[i][j]; j++)
    55 {
    56 mark[left[i][j]-'A'] = 2;
    57 mark[right[i][j]-'A'] = 2;
    58 }
    59 }
    60 }
    61
    62 for (i=0; i<len; i++)
    63 {
    64 if (mark[i] == 2)
    65 continue;
    66
    67 mark[i] = 1;
    68 if (Check(i,1))
    69 {
    70 printf ("%c is the counterfeit coin and it is light.\n",i+'A');
    71 break;
    72 }
    73 if (Check(i,3))
    74 {
    75 printf ("%c is the counterfeit coin and it is heavy.\n",i+'A');
    76 break;
    77 }
    78 }
    79 }
    80
    81 return 0;
    82 }

  • 相关阅读:
    Linear Regression总结
    Logistic Regression总结
    LOG算子
    斑点检测
    从 SVM 到多核学习 MKL
    目标检测的图像特征提取之(二)LBP特征
    HOG:从理论到OpenCV实践
    web前端升级之路
    webpack入门
    VUE2.0实现购物车和地址选配功能学习第七节
  • 原文地址:https://www.cnblogs.com/eavn/p/1753050.html
Copyright © 2020-2023  润新知