ACM PKU 1013 Counterfeit Dollar 以前做了很久都没ac的简单题

ACM PKU 1013 Counterfeit Dollar 以前做了很久都没ac的简单题

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

以前没做好是自己结构没有想清楚,再加上竟然没有想到用strchr这个函数...
Source Code

Problem: 
1013   User: lnmm 
Memory: 64K  Time: 0MS 
Language: C
++   Result: Accepted 

Source Code 
#include
" stdio.h "
#include
" string.h "
char  left[ 3 ][ 7 ],right[ 3 ][ 7 ],result[ 3 ][ 5 ];

bool  isHeavy( char  x )
{
    
int i;
    
for(i=0;i<3;i++)
    
{
        
switch(result[i][0])
        
{
        
case 'u':if(strchr(left[i],x)==NULL)return false;break;
        
case 'e':if(strchr(left[i],x)!=NULL||strchr(right[i],x)!=NULL)return false;break;
        
case 'd':if(strchr(right[i],x)==NULL)return false;break;
        }

    }

    
return true;
}


bool  isLight( char  x )
{
    
int i;
    
for(i=0;i<3;i++)
    
{
        
switch(result[i][0])
        
{
        
case 'u':if(strchr(right[i],x)==NULL)return false;break;
        
case 'e':if(strchr(left[i],x)!=NULL||strchr(right[i],x)!=NULL)return false;break;
        
case 'd':if(strchr(left[i],x)==NULL)return false;break;
        }

    }

    
return true;
}


void  main()
{
    
int n;
    
char c;
    
int i;
    scanf(
"%d",&n);
    
while(n>0)
    
{
        
for( i=0;i<3;i++)
            scanf(
"%s%s%s",left[i],right[i],result[i]);
        
for(c='A';c<='L';c++)
        
{
            
if(isLight(c))
            
{
                printf(
"%c is the counterfeit coin and it is light.\n",c);
                
break;
            }

            
if(isHeavy(c))
            
{
                printf(
"%c is the counterfeit coin and it is heavy.\n",c);
                
break;
            }


        }

        n
--;

    }

}


你可能感兴趣的:(ACM PKU 1013 Counterfeit Dollar 以前做了很久都没ac的简单题)