UVa 740 - Baudot Data Communication Code
称号:目前编码,他们shift键被按下,并提出,对应的两个编码,其中,2相应的编码shift操作。
给你适当的编码值。寻求相应的字符串。
分析:模拟。字符串。
简单题,标记shift的升降分类处理就可以。
说明:数据量较小,直接扫描查询就可以。
#include <iostream> #include <cstdlib> #include <string> #include <cstdio> using namespace std; #define down 1 #define up 0 string ushift,dshift,buf; int code(int space) { int value = 0; for (int i = 0 ; i < 5 ; ++ i) { value <<= 1; value += buf[space+i]-'0'; } return value; } int main() { getline(cin, dshift); getline(cin, ushift); while (getline(cin, buf)) { int state = down; for (int i = 0 ; i < buf.length() ; i += 5) { int value = code(i); if (value == 27) { state = down; }else if (value == 31) { state = up; }else if (state == down) cout << dshift[value]; else cout << ushift[value]; } cout << endl; } return 0; }
版权声明:本文博客原创文章,博客,未经同意,不得转载。