首页 > 代码库 > UVA 10878-Decode the tape(模拟)
UVA 10878-Decode the tape(模拟)
Decode the tape
Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %lluDescription
Input
The input will contain one tape.
Output
Output the message that is written on the tape.
Sample Input
___________ | o . o| | o . | | ooo . o| | ooo .o o| | oo o. o| | oo . oo| | oo o. oo| | o . | | oo . o | | ooo . o | | oo o.ooo| | ooo .ooo| | oo o.oo | | o . | | oo .oo | | oo o.ooo| | oooo. | | o . | | oo o. o | | ooo .o o| | oo o.o o| | ooo . | | ooo . oo| | o . | | oo o.ooo| | ooo .oo | | oo .o o| | ooo . o | | o . | | ooo .o | | oo o. | | oo .o o| | o . | | oo o.o | | oo . o| | oooo. o | | oooo. o| | o . | | oo .o | | oo o.ooo| | oo .ooo| | o o.oo | | o. o | ___________
Sample Output
A quick brown fox jumps over the lazy dog.
考察二进制编码。把o看成1,把‘ ’(空格)看成0,其余的不需要管,但是记住第二个|要输出当前的字符。
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <algorithm> #include <iostream> using namespace std; int main() { char str; int cnt=0; int sum=0; while((str=getchar())!=EOF) { if(str=='o') sum=sum*2+1; else if(str==' ') sum=sum*2; else if(str=='|') { cnt++; if(cnt==2) { putchar(sum); cnt=0; sum=0; } } } return 0; }
UVA 10878-Decode the tape(模拟)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。