PKU 1013 Counterfeit Dollar

Source: Internet
Author: User
Run ID User Problem Result Memory Time Language Code Length Submit Time
6624780 Kingpro 1013 Accepted 240 K 0 MS C ++ 1262B 2010-03-25 04:19:54

 

 

PKU 1013 Counterfeit Dollar

  1 #include <iostream>
2  using std::cin;
3  using std::cout;
4  using std::endl;
5 char left[3][7]={0}, right[3][7]={0}, result[3][5]={0};
6
7 bool isLight(char c)
8 {
9 for(int i=0; i<3; i++)
10 {
11 switch(result[i][0])
12 {
13 case 'e':
14 if(strchr(left[i], c)!=NULL || strchr(right[i], c)!=NULL)
15 return false;
16 break;
17 case 'u':
18 if(strchr(right[i], c)==NULL)
19 return false;
20 break;
21 case 'd':
22 if(strchr(left[i], c)==NULL)
23 return false;
24 break;
25 }
26 }
27 return true;
28 }
29 bool isHeavy(char c)
30 {
31 for(int i=0; i<3; i++)
32 {
33 switch(result[i][0])
34 {
35 case 'e':
36 if(strchr(left[i], c)!=NULL || strchr(right[i], c)!=NULL)
37 return false;
38 break;
39 case 'u':
40 if(strchr(left[i], c)==NULL)
41 return false;
42 break;
43 case 'd':
44 if(strchr(right[i], c)==NULL)
45 return false;
46 break;
47 }
48 }
49 return true;
50 }
51 int main()
52 {
53 int i=0;
54 cin>>i;
55 while(i--)
56 {
57 for(int i=0; i<3; i++)
58 cin>>left[i]>>right[i]>>result[i];
59 for(char c='A';c<='L'; c++)
60 {
61 if(isLight(c))
62 {
63 cout<<c<<" is the counterfeit coin and it is light."<<endl;
64 break;
65 }
66 if(isHeavy(c))
67 {
68 cout<<c<<" is the counterfeit coin and it is heavy."<<endl;
69 break;
70 }
71 }
72 }
73 return 0;
74 }

 

This is called the ball problem... 12 balls have a weight different from each other. It is called three times to determine which ball is used. No program is needed. I will solve this logic complexity...

I admit that I have read other people's code for this question. Can someone explain it...

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.