青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Counterfeit Dollar

該題ZOJ題號為1184 POJ題號為1013.

題目描述如下:

Sally Jones has a dozen Voyageur silver dollars. However, only eleven of the coins are true silver dollars; one coin is counterfeit even though its color and size make it indistinguishable from the real silver dollars. The counterfeit coin has a different weight from the other coins but Sally does not know if it is heavier or lighter than the real coins.

Happily, Sally has a friend who loans her a very accurate balance scale. The friend will permit Sally three weighings to find the counterfeit coin. For instance, if Sally weighs two coins against each other and the scales balance then she knows these two coins are true. Now if Sally weighs one of the true coins against a third coin and the scales do not balance then Sally knows the third coin is counterfeit and she can tell whether it is light or heavy depending on whether the balance on which it is placed goes up or down, respectively.

By choosing her weighings carefully, Sally is able to ensure that she will find the counterfeit coin with exactly three weighings.


Input
The first line of input is an integer n (n > 0) specifying the number of cases to follow. Each case consists of three lines of input, one for each weighing. Sally has identified each of the coins with the letters A-L. Information on a weighing will be given by two strings of letters and then one of the words ``up'', ``down'', or ``even''. The first string of letters will represent the coins on the left balance; the second string, the coins on the right balance. (Sally will always place the same number of coins on the right balance as on the left balance.) The word in the third position will tell whether the right side of the balance goes up, down, or remains even.


Output
For each case, the output will identify the counterfeit coin by its letter and tell whether it is heavy or light. The solution will always be uniquely determined.


Sample Input

1
ABCD EFGH even
ABCI EFJK up
ABIJ EFGH even


Sample Output
K is the counterfeit coin and it is light.

【分析】該題屬于枚舉范疇。沒有比較巧妙的可以一步到位求出結果的方法,可以一次枚舉這12枚錢幣,假設其為假,然后代入到3次稱量判斷中,如果使三次判斷都成立且判斷結果相同,那么毫無疑問這枚錢幣是假的。首先可以進行預處理,比較結果為EVEN的可以判定兩邊的錢幣都是真的,不必參與到枚舉中來。對于上面的輸入用例,假設K是假的,代入判斷1k不出現,那么兩邊重量應相等,成立。繼續稱量2k出現在右邊,結果是UP,亦成立,且據此知道k是較輕的,因此k在右邊,而天平右邊翹起。下面進行判斷3

k沒有出現在天平兩邊,而且結果為even成立。通過三次稱量判斷,且結果一致,可以肯定k就是假幣,且較輕。為了說明為題,對于上例假設L是假幣。代入稱量1L不出現,結果even成立,稱量2L不出現,結果為up不成立,因為只有一枚假幣,現假設L為假幣,而在L不出現的情況下天平不平衡,故L不是假幣。按照上述算法進行枚舉,遇到可以肯定是假幣的貨幣時算法終止。

       需要注意的是當假設一枚硬幣為假且通過三次稱量時,需要判斷三次稱量k的輕重情況是否一致,如果一次推得該硬幣較輕,而另一次卻判斷該硬幣較重,那么該硬幣肯定不是假幣。在判斷是需要注意當左右兩邊都不出現假設為假的硬幣時,需要特殊處理,不能簡單的比較3次硬幣輕重是否相同,在左右兩邊都不出現該硬幣的情況下,不應該把這次測量納入比較的范疇。除此之外需要的就是細心了,本人因為打印的時候多打印了個theWA6次,檢查了半個多小時,有種欲哭無淚的感覺。

具體代碼如下:

  1 #include <stdio.h>
  2 #include <stdlib.h>
  3 #include <string.h>
  4 
  5 char left[3][7], right[3][7];
  6 char result[3][6];
  7 int a[15];
  8 int w;
  9 
 10 int judge(char ch)
 11 {
 12     int r1, r2;
 13     int i;
 14     int a[3];
        /*對當前假設的硬幣進行判斷*/
 15     for (i = 0; i < 3++i)
 16     {
 17         r1 = strcmp(result[i], "even");
 18         r2 = strcmp(result[i], "up");
 19         if (strchr(left[i], ch) != NULL)
 20         {
 21             if (r1 == 0)
 22                 return 0;
 23             else if (r2  == 0)
 24                 a[i] = 1;
 25             else 
 26                 a[i] = -1;
 27         }
 28         else if (strchr(right[i], ch) != NULL)
 29         {
 30             if (r1 == 0)
 31                 return 0;
 32             else if (r2 == 0)
 33                 a[i] = -1;
 34             else 
 35                 a[i] = 1;
 36         }
 37         else
 38         {
 39             if (r1 != 0)
 40                 return 0;
 41             a[i] = 3;
 42         } 
 43     }
        /*判斷結果是否一致*/
 44     if (a[0!= 3)
 45         w = a[0];
 46     else if (a[1!= 3)
 47         w = a[1];
 48     else if (a[2!= 3)
 49         w = a[2];
 50     for (i = 0; i < 3++i)
 51     {
 52         if (a[i] != 3 && a[i] != w)
 53         {
 54                 return 0;
 55         }
 56     }
 57     return 1;
 58 }
 59 int main(void)
 60 {
 61     int n;
 62     int i;
 63     char *p;
 64     char ch;
 65     int r;
 66     scanf("%d%*c"&n);    
 67     while (n--)
 68     {
 69         memset(a, 0sizeof(a));
 70         for (i = 0; i < 3++i)
 71         {
 72             scanf("%s%s%s", left[i], right[i], result[i]);
 73             if (strcmp (result[i], "even"== 0)
 74             {
 75                 p = left[i];
 76                 while (*!= '\0')
 77                 {
 78                     a[*p-'A'= 1;
 79                     ++p;
 80                 }
 81                 p = right[i];
 82                 while (*!= '\0')
 83                 {
 84                     a[*p-'A'= 1;
 85                     ++p;
 86                 }
 87             }
 88         }
 89         for (ch = 'A'; ch <= 'L'++ch)
 90         {
 91             if (a[ch-'A']  == 1)
 92                 continue;
 93             r = judge(ch);
 94             if (r == 1)
 95             {
 96                 if (w > 0)
 97                 {
 98                     printf("%c is the counterfeit coin and it is heavy.\n", ch);
 99                 }
100                 else
101                 {
102                     printf("%c is the counterfeit coin and it is light.\n", ch);
103                 }
104                 break;
105             }
106         }
107     }
108     return 0;
109 }


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


posts - 12, comments - 1, trackbacks - 0, articles - 1

Copyright © 李東亮

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久久久亚洲精品杨幂换脸| 久久精品成人一区二区三区| 欧美高清视频www夜色资源网| 国外成人免费视频| 久久伊人精品天天| 久久婷婷综合激情| 亚洲人成网站在线观看播放| 欧美福利视频网站| 牛牛影视久久网| 一本色道久久综合亚洲精品按摩| 亚洲国产欧美不卡在线观看| 欧美激情综合五月色丁香小说| 亚洲免费av网站| 在线亚洲精品福利网址导航| 国产欧美精品一区二区三区介绍| 欧美在线观看日本一区| 久久国产乱子精品免费女| 在线精品视频免费观看| 亚洲激情图片小说视频| 欧美性猛交xxxx乱大交退制版| 亚洲欧美成aⅴ人在线观看| 亚洲综合第一| 亚洲国产日韩一区| 亚洲视频在线观看三级| 韩国精品久久久999| 亚洲国内精品| 国产欧美午夜| 亚洲韩日在线| 国产伦精品一区二区三区在线观看 | 亚洲在线中文字幕| 在线精品视频一区二区| 一区二区三区高清在线 | 噜噜噜91成人网| 亚洲一区二区不卡免费| 久久久综合视频| 午夜电影亚洲| 欧美精品一区三区| 久久亚洲一区二区三区四区| 欧美日本精品一区二区三区| 久久免费的精品国产v∧| 欧美日韩在线一区二区三区| 卡通动漫国产精品| 国产精品男人爽免费视频1| 欧美激情中文不卡| 国产区欧美区日韩区| 亚洲乱码久久| 亚洲国产精品热久久| 欧美亚洲三区| 亚洲欧美日韩国产一区二区三区| 免费久久99精品国产自在现线| 午夜一区不卡| 欧美午夜免费影院| 91久久线看在观草草青青| 国内自拍视频一区二区三区| 亚洲调教视频在线观看| 日韩亚洲欧美成人| 男人天堂欧美日韩| 免费不卡在线视频| 国内视频一区| 亚洲欧美精品| 欧美在线观看视频在线| 国产精品女主播在线观看 | 亚洲欧美激情一区二区| 欧美精品一区二区久久婷婷| 乱码第一页成人| 狠狠爱综合网| 久久er99精品| 久久亚洲视频| 有码中文亚洲精品| 久久精品国产亚洲aⅴ| 久久精品噜噜噜成人av农村| 国产欧美日韩专区发布| 亚洲女女女同性video| 午夜精品久久久久久久男人的天堂| 欧美日韩国产另类不卡| 一本色道久久| 欧美一区激情| 国产亚洲一区二区三区在线播放| 性色av一区二区三区| 久久久99国产精品免费| 黄色成人在线免费| 免费观看成人网| 亚洲日本中文| 亚洲综合日韩中文字幕v在线| 欧美性做爰毛片| 亚洲欧美国产77777| 久久精品日产第一区二区三区 | 欧美成人69av| 亚洲精品一区久久久久久| 中文有码久久| 国产精品一区二区久久久久| 欧美在线日韩| 亚洲国产另类久久久精品极度| 一区二区三区高清视频在线观看| 国产精品久久国产精品99gif| 亚洲一区二区在线播放| 久久婷婷国产综合尤物精品| 亚洲精品免费一区二区三区| 国产精品成人一区二区三区吃奶| 欧美一区二区成人| 亚洲国产精品www| 亚洲欧美影音先锋| 亚洲国产精品999| 欧美日韩国产一级片| 亚洲欧美在线aaa| 欧美a级一区二区| 亚洲自拍都市欧美小说| 精品1区2区| 欧美日韩综合视频| 久久久久久久一区二区三区| 亚洲最新中文字幕| 欧美日韩在线一区二区| 久久se精品一区精品二区| 91久久精品一区| 久久精品在线观看| 一区二区三区高清不卡| 在线观看视频一区二区| 国产精品久久久久免费a∨| 久久人人超碰| 亚洲欧美区自拍先锋| 亚洲国产精品一区二区三区| 欧美亚洲免费高清在线观看| 亚洲免费观看| 亚洲第一精品久久忘忧草社区| 国产精品久久久久久久免费软件| 欧美xxx成人| 久久国产精品久久精品国产| 日韩一区二区精品| 欧美激情精品久久久六区热门| 欧美一区2区三区4区公司二百| 日韩亚洲欧美成人| 亚洲福利视频在线| 国产一区亚洲一区| 国产精品视频大全| 欧美视频在线免费| 欧美日韩第一区| 免费一级欧美片在线观看| 欧美在线91| 性感少妇一区| 午夜久久久久久| 亚洲一区二区三区免费观看| 亚洲精品中文字幕女同| 亚洲欧洲另类| 亚洲国产一区在线观看| 欧美激情91| 亚洲高清一区二区三区| 欧美va天堂| 亚洲成在人线av| 亚洲观看高清完整版在线观看| 欧美成人综合在线| 欧美大片在线观看| 欧美肥婆在线| 亚洲人成网在线播放| 91久久在线观看| 99在线热播精品免费99热| 99精品视频免费在线观看| 99精品国产福利在线观看免费| 亚洲精品裸体| 亚洲综合电影| 久久九九99| 免费观看一区| 欧美日韩国产一区精品一区| 国产精品成人va在线观看| 国产精品久久久久久久浪潮网站| 国产精品视频专区| 精品电影一区| 这里只有视频精品| 亚洲福利一区| 中文在线不卡| 亚洲永久在线| 久久国产日本精品| 久久综合九色综合欧美就去吻 | 亚洲精品乱码| 亚洲午夜一区二区三区| 欧美在线免费视屏| 模特精品在线| 日韩一区二区精品葵司在线| 亚洲一区二区高清视频| 欧美与黑人午夜性猛交久久久| 久久亚洲国产精品一区二区| 欧美精品一区在线| 国产精品日韩一区二区| 好吊日精品视频| av成人免费在线观看| 午夜日韩在线观看| 欧美国产日韩a欧美在线观看| 99综合视频| 久久亚洲精品一区| 国产精品久久久久久久久| 亚洲第一精品夜夜躁人人爽| 亚洲欧美国产精品va在线观看| 久久午夜羞羞影院免费观看| 亚洲精品网站在线播放gif| 亚洲一区二区影院| 免费久久精品视频| 国产欧美一区二区三区在线看蜜臀| 亚洲国产小视频在线观看| 欧美亚洲免费电影| 日韩一级黄色大片| 久久嫩草精品久久久精品|