#include<iostream>#include<queue>usingnamespace std;structnode{int id;
node* left =nullptr;
node* right =nullptr;};int a[31];int b[31];int N;
node*build_tree(int h1,int t1,int h2,int t2){if(h1 > t1)returnNULL;
node* p =new node;
p->id = a[t1];int index;for(index = h2; b[index]!= a[t1]; index++);
p->left =build_tree(h1, index -1- h2 + h1, h2, index -1);
p->right =build_tree(index - h2 + h1, t1 -1, index +1, t2);return p;}intmain(){
cin >> N;for(int i =0; i < N; i++){
cin >> a[i];}for(int i =0; i < N; i++){
cin >> b[i];}
node*root =build_tree(0, N-1,0, N-1);
queue<node*> tree;
tree.push(root);int i =0;while(!tree.empty()){if(i !=0)cout <<' ';
node* temp = tree.front();
tree.pop();
cout <<temp ->id;if(temp->left !=nullptr)tree.push(temp->left);if(temp->right !=nullptr)tree.push(temp->right);
i++;}}
1022
/*
3
1111111//书的id
The Testing Book//书的标题
Yue Chen//作者
test code debug sort keywords//书的关键字
ZUCS Print//出版商
2011//出版年份
*/#include<iostream>#include<string>#include<map>#include<set>usingnamespace std;
map<string, set<string>> m[6];//将书的标题和id绑定voidinput_set(set<string> s){for(auto it = s.begin(); it != s.end(); it++){
cout <<*it << endl;}}intmain(){int N;
cin >> N;getchar();for(int i =0; i < N; i++){
string id, title, author, key_word, publisher, year;getline(cin, id);getline(cin, title);
m[1][title].insert(id);getline(cin, author);
m[2][author].insert(id);do{
cin >> key_word;
m[3][key_word].insert(id);}while(getchar()==' ');getline(cin, publisher);
m[4][publisher].insert(id);getline(cin, year);
m[5][year].insert(id);}int Q;
cin >> Q;getchar();while(Q--){
string s0,s;getline(cin, s0);for(int i =3; i < s0.size(); i++){
s += s0[i];}bool flag =false;if(s0[0]=='1'){if(m[1][s].size())
flag =1;
cout << s0<<endl;for(auto it = m[1][s].begin(); it != m[1][s].end(); it++){
cout <<*it << endl;}}if(s0[0]=='2'){if(m[2][s].size())
flag =1;
cout << s0<<endl;for(auto it = m[2][s].begin(); it != m[2][s].end(); it++){
cout <<*it << endl;}}if(s0[0]=='3'){if(m[3][s].size())
flag =1;
cout << s0<<endl;for(auto it = m[3][s].begin(); it != m[3][s].end(); it++){
cout <<*it << endl;}}if(s0[0]=='4'){if(m[4][s].size())
flag =1;
cout << s0<<endl;for(auto it = m[4][s].begin(); it != m[4][s].end(); it++){
cout <<*it << endl;}}if(s0[0]=='5'){if(m[5][s].size())
flag =1;
cout << s0<<endl;for(auto it = m[5][s].begin(); it != m[5][s].end(); it++){
cout <<*it << endl;}}if(!flag){
cout <<"Not Found"<<endl;}}}
1023
#include<iostream>#include<string>#include<map>usingnamespace std;
string N;int P[10]={0};int Q[10]={0};
string Re_double_s(string s){int ci =0;//进位
string res ="";for(int i = s.size()-1; i >=0; i--){int a =((s[i]-'0')*2)+ ci;int b = a %10;
ci = a /10;
b = b +'0';
res += b;}if(ci !=0)res += ci+'0';return res;//最终得到double_s的反转序列}intmain(){
cin >> N;for(int i =0; i < N.size(); i++){
P[N[i]-'0']+=1;}
string res =Re_double_s(N);for(int i =0; i < res.size(); i++){
Q[res[i]-'0']+=1;}bool flag =1;//两个序列是否为重新排列if(N.size()== res.size()){for(int i =0; i <10; i++){if(P[i]!= Q[i])
flag =0;}}else{
flag =0;//两个序列不是重新排列}if(flag)//是重新排列
cout <<"Yes"<< endl;else
cout <<"No"<< endl;for(int i = res.size()-1; i >=0; i--){
cout << res[i];}}
1024
#include<iostream>#include<string>usingnamespace std;int step =0;
string Re_s(string s){
string res ="";for(int i = s.size()-1; i >=0; i--){
res += s[i];}return res;}
string s1_add_s2(string s1, string s2){
string res = s1;int ci =0;for(int i = s1.size()-1; i >=0; i--){int a =((s1[i]-'0')+(s2[i]-'0')+ ci);int b = a %10;
ci = a /10;
res[i]= b +'0';}if(ci !=0){
res += ci +'0';for(int i = s1.size(); i >=1; i--){
res[i]= res[i -1];}
res[0]= ci +'0';}return res;}boolis_palin(string s){bool flag =1;int mid = s.size()/2;for(int i =0; i < mid; i++){if(s[i]!= s[s.size()- i -1]){
flag =0;break;}}return flag;}
string trans_palindromic(string N,int K){
string s1 = N;if(is_palin(s1))return s1;while(K--){
string s2 =Re_s(s1);
s1 =s1_add_s2(s1, s2);
step++;if(is_palin(s1)){break;}}return s1;}intmain(){
string N;int K;
cin >> N >> K;
string res =trans_palindromic(N, K);
cout << res << endl;
cout << step << endl;}