zoukankan      html  css  js  c++  java
  • POJ1013Counterfeit Dollar

    这个题主要是判断硬币真假,可能轻可能重,称三次,要输出哪枚是假币,还要输出是重的还是轻的,所以最主要的是标记变量

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<cmath>
     4 #include<iostream>
     5 using namespace std ;
     6 
     7 int main()
     8 {
     9     int n ;
    10     while(cin>>n )
    11     {
    12         int a['L'+3] ;
    13         for(int k = 1 ; k <= n ; k++)
    14         {
    15             memset(a,0,sizeof(a)) ;  //没被标记
    16             char ch[50],sh[50] ,ju[50];
    17             for(int j = 1 ; j <= 3 ; j++)
    18             {
    19                 cin>>ch>>sh>>ju;
    20                 if(strcmp(ju,"even")==0)
    21                 {
    22                     for(int i = 0 ; i <  strlen(ch) ; i++)
    23                     {
    24                         a[ch[i]] = 1000 ;//绝对真币为-1
    25                         a[sh[i]] = 1000 ;
    26                     }
    27                 }
    28                 else if(strcmp(ju,"up") == 0)
    29                 {
    30                     for(int i = 0 ; i < strlen(ch) ; i++)
    31                     {
    32                         if(a[ch[i]] != 1000)
    33                             a[ch[i]]++;//
    34                         if(a[sh[i]] != 1000)
    35                             a[sh[i]]-- ;
    36                     }
    37                 }
    38                 else if(strcmp(ju,"down") == 0)
    39                 {
    40                     for(int i = 0 ; i < strlen(ch) ; i++)
    41                     {
    42                         if(a[ch[i]] != 1000)
    43                             a[ch[i]] --;
    44                         if(a[sh[i]] != 1000)
    45                             a[sh[i]]++ ;
    46                     }
    47                 }
    48             }
    49             int max = 0 ;
    50             char count ;
    51             for(int j = 'A' ; j <= 'L' ; j++)
    52             {
    53                 if(a[j] == 1000)
    54                     continue ;
    55                 if( fabs(a[j]) >= max)
    56                 {
    57                     max = fabs(a[j]) ;
    58                     count = j ;
    59                 }
    60             }
    61             cout<<count<< " is the counterfeit coin and it is ";
    62             if(a[count] > 0)
    63                 cout<<"heavy."<<endl ;
    64             else
    65                 cout<< "light."<<endl ;
    66         }
    67     }
    68     return 0 ;
    69 }
    View Code
  • 相关阅读:
    idea中svn代码冲突
    数据库表的连接(Left join , Right Join, Inner Join)用法详解
    @Param注解的用法解析
    spring @Transactional注解参数详解
    数据库的DDL、DML和DCL的区别与理解
    Mybatis:resultMap的使用总结
    Maps.newHashMap 和 new HashMap的区别
    php 个推的例子
    fidder 调接口 的 小常识
    php Memcached
  • 原文地址:https://www.cnblogs.com/luyingfeng/p/3231284.html
Copyright © 2011-2022 走看看