Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
妈蛋,万恶的c++11,万恶的map!#include <iostream> #include <string> #include <map> #include <vector> using namespace std; int main() { size_t n; string message,code; map<string, char> decode; decode.insert(pair<string, char>( ".-", 'A' )); decode.insert(pair<string, char>( "-...", 'B' )); decode.insert(pair<string, char>( "-.-.", 'C' )); decode.insert(pair<string,char>( "-..", 'D' )); decode.insert(pair<string, char>( ".", 'E' )); decode.insert(pair<string, char>( "..-.", 'F' )); decode.insert(pair<string, char>( "--.", 'G' )); decode.insert(pair<string, char>( "....", 'H' )); decode.insert(pair<string, char>("..", 'I')); decode.insert(pair<string, char>( ".---", 'J' )); decode.insert(pair<string, char>( "-.-", 'K' )); decode.insert(pair<string, char>( ".-..", 'L' )); decode.insert(pair<string, char>( "--", 'M')); decode.insert(pair<string, char>( "-.", 'N' )); decode.insert(pair<string, char>( "---", 'O' )); decode.insert(pair<string, char>( ".--.", 'P' )); decode.insert(pair<string, char>( "--.-", 'Q')); decode.insert(pair<string, char>( ".-.", 'R' )); decode.insert(pair<string, char>( "...", 'S' )); decode.insert(pair<string, char>( "-", 'T' )); decode.insert(pair<string, char>( "..-", 'U')); decode.insert(pair<string, char>( "...-", 'V' )); decode.insert(pair<string, char>( ".--", 'W' )); decode.insert(pair<string, char>( "-..-", 'X' )); decode.insert(pair<string, char>( "-.--", 'Y')); decode.insert(pair<string, char>( "--..", 'Z' )); decode.insert(pair<string, char>( "..--", '_' )); decode.insert(pair<string, char>( ".-.-", ',' )); decode.insert(pair<string, char>("---.", '.')); decode.insert(pair<string, char>( "----", '?' )); map<char, string> encode; encode.insert(pair<char, string>( 'A', ".-" )); encode.insert(pair<char, string>( 'B', "-..." )); encode.insert(pair<char, string>( 'C', "-.-.")); encode.insert(pair<char, string>( 'D', "-.." )); encode.insert(pair<char, string>( 'E', "." )); encode.insert(pair<char, string>( 'F', "..-." )); encode.insert(pair<char, string>( 'G', "--.")); encode.insert(pair<char, string>( 'H', "...." )); encode.insert(pair<char, string>( 'I', ".." )); encode.insert(pair<char, string>( 'J', ".---" )); encode.insert(pair<char, string>( 'K', "-.-")); encode.insert(pair<char, string>( 'L', ".-.." )); encode.insert(pair<char, string>( 'M', "--" )); encode.insert(pair<char, string>( 'N', "-." )); encode.insert(pair<char, string>( 'O', "---")); encode.insert(pair<char, string>( 'P', ".--." )); encode.insert(pair<char, string>( 'Q', "--.-" )); encode.insert(pair<char, string>( 'R', ".-." )); encode.insert(pair<char, string>( 'S', "...")); encode.insert(pair<char, string>( 'T', "-" )); encode.insert(pair<char, string>( 'U', "..-" )); encode.insert(pair<char, string>( 'V', "...-" )); encode.insert(pair<char, string>( 'W', ".--")); encode.insert(pair<char, string>( 'X', "-..-" )); encode.insert(pair<char, string>( 'Y', "-.--" )); encode.insert(pair<char, string>( 'Z', "--.." )); encode.insert(pair<char, string>( '_', "..--" )); encode.insert(pair<char, string>( ',', ".-.-" )); encode.insert(pair<char, string>( '.', "---.")); encode.insert(pair<char, string>( '?', "----" )); vector<int> num; cin >> n; for (size_t j = 1; j <= n; ++j){ cin >> message; cout << j << ": "; for (string::iterator i = message.begin(); i != message.end(); ++i){ string tem = encode[*i]; num.push_back(tem.length()); code+=tem; } string::iterator codei = code.begin(); for (vector<int>::reverse_iterator i = num.rbegin(); i != num.rend(); ++i){ string tem(code,codei-code.begin(),*i); cout << decode[tem]; codei += *i; } cout << endl; code.clear(); num.clear(); } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator