首页 > 其他 > 详细

uva 10878 - Decode the tape

时间:2016-01-19 01:31:38      阅读:157      评论:0      收藏:0      [点我收藏+]

题解:

  观察a,b,c,d..字母后发现:

  • a=|_oo__.__o|
  • b=|_oo__._o_|
  • c=|_oo__._oo|
  • d=|_oo__.o__|
  • e=|_oo__.o_o|
  可以知道它是以二进位的方式表示,在把‘a‘的值(2^0+2^5+2^6=97)加起來后与ASCII表比较,刚好就是表上‘a‘的值,因此这题把每个字元的值加起來输出即可(换行符号它也已经在input里啰,不用自己换行)。
 
 1 #include <cstdio>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     char line[50];
 7     while(gets(line))
 8     {
 9         if(line[0] != |) continue;
10         char c = 0;
11         for (int i = 0; line[i]; i++)
12         {
13             if(line[i] ==   || line[i] == o)
14                 c <<= 1;
15             if(line[i] == o)
16                 c ++;
17         }
18         printf("%c", c);
19     }
20     return 0;
21 }

 

uva 10878 - Decode the tape

原文:http://www.cnblogs.com/aze-003/p/5140918.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!