class ReversingBrackets { public: string removeBrackets(string s) { string r, t; for(int i=0; i<s.size(); ++i){ if(s[i] == '['){ r += t; t = ""; } else if(s[i] == ']'){ reverse(t.begin(), t.end()); r += t; t = ""; } else t += s[i]; } if(t.size())r += t; return r; } };500
set<int> s; void rec(int dep, vector<string> &v, string t) { if(t.size() && t[0] == '0')return ; if(dep == 0){ v.push_back(t); return ; } for(char c='0'; c<='9'; ++c){ rec(dep-1, v, t + c); } return ; } class PalindromicNumbers { public: int countPalNums(int lower, int upper) { for(int i=1; i<=9; ++i){ s.insert(i); } for(int i=0; i<5; ++i){ vector<string> v; rec(i, v, ""); for(int j=0; j<v.size(); ++j){ string t = v[j]; reverse(t.begin(), t.end()); for(char c='0'; c<='9'; ++c){ string u = v[j]; u += c; u += t; s.insert( atoi( u.c_str() ) ); } t = v[j] + t; s.insert( atoi( t.c_str() ) ); } } int r = 0; FOR(i, s){ cout << *i << endl; if(lower <= *i && *i <= upper){ cout << *i << endl; ++r; } } return r; } };1000
読んでない。
0 件のコメント :
コメントを投稿