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;
}
};
500set<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 件のコメント :
コメントを投稿