SRM144 DIV1 300
#include <vector> #include <string> #include <sstream> using namespace std; class BinaryCode { public: vector<string> decode(string message){ vector<string> dst; vector<int> Q; vector<int> P; int len = 0; len = message.length(); for(int i = 0; i < len; i++) Q.push_back(message[i]-48); for(int t = 0; t < 2; t++){ P.push_back(t); P.push_back(Q[0]-P[0]); for(int i = 1; i < len - 1; i++) P.push_back(Q[i]-P[i-1]-P[i]); if(Q[len-1] == (P[len-2] + P[len-1])){ stringstream tmp; for(int i = 0; i < P.size(); i++) tmp << P[i]; dst.push_back(tmp.str()); }else{ dst.push_back("NONE"); } P.clear(); } return dst; } };
System> peryaudo has submitted the 300-point problem for 90.00 points
ひくっ
おそらく、こういう物はとりあえず問題文読むのも半ばでコードを書きはじめたほうがいいのだと思う。
まあそのへんも慣れですなぁ