C++_USACO_Dual Palindromes
2013-08-02 16:44
253 查看
/* PROB:dualpal LANG:C++ */ #include<iostream> #include<fstream> #include<string> #include<sstream> #include<stack> using namespace std; stack<char> rem_stack; string transtoN(int num_ten,int base){ stringstream ss; string str_n=""; int irem=0; char crem=' '; if(base==10){ ss<<num_ten; str_n=ss.str(); } else{ while(num_ten!=0){ irem=num_ten%base; if(irem<10) crem=(char)(irem+48); else crem=irem-10+'A'; rem_stack.push(crem); num_ten=num_ten/base; } while(!rem_stack.empty()){ str_n.append(1,rem_stack.top()); rem_stack.pop(); } } return str_n; } int main(){ ifstream fin("dualpal.in"); ofstream fout("dualpal.out"); int n,s; int count_base=0; int count_n=0; string str_n=""; bool ispals=true; fin>>n>>s; for(int i=s+1;i<65536;i++){ count_base=0; for(int k=2;k<=10;k++){ str_n=(transtoN(i,k)); if(str_n[0]=='0' || str_n[str_n.size()-1]=='0') continue; for(int j=0;j<str_n.size()/2;j++){ if(str_n[j]!=str_n[str_n.size()-1-j]){ ispals=false; break; } } if(ispals) count_base++; if(count_base==2){ count_n++; fout<<i<<endl; break; } ispals=true; } if(count_n==n) break; } return 0; }
相关文章推荐
- C++_USACO_Transformations
- C++动态规划算法之数字金字塔【USACO TRAINING】:一道经典的数塔问题
- C++——【USACO 4.4.2】——Pollutant Control
- C++_USACO_求一个字符串的反向字符串
- C++_USACO_Palindromic Squares
- C++——USACO Section 2.4 题解
- C++_USACO_从文件读出两数,相加输出到另一个文件
- C++——【USACO 5.2.1】——Snail Trails
- C++——【USACO 5.3.1】——Milk Measuring
- C++&Pascal&Python——【USACO 5.3.4】——Big Barn
- C++&Python——【USACO 5.4.1】——Canada Tour
- C++——【USACO 5.4.3】——Telecowmunication
- C++——USACO Section 2.1 题解
- C++——【USACO 4.4.1】——Shuttle Puzzle
- 【C++】【USACO3.2.2】01串
- C++——【USACO 5.1.2】——Starry Night
- C++_USACO_Broken Necklace
- USACO US OPEN 2015 BRONZE 三四题 C++翻译代码
- && C++_USACO_Calf Flac
- C++——USACO Section 3.2 题解