#include<bits/stdc++.h> using namespace std; string s; char e[11]={'0','1','2','3','4','5','6','7','8','9','X'}; int main() { cin>>s; int res=0; for(int p=0,c=0;p<=10;p++) if(s[p]!='-') res+=(s[p]-'0')*(++c), res%=11; if(e[res]==s[12]) cout<<"Right"<<endl; else cout<<(s.substr(0,12)+e[res])<<endl; }
P1200 [USACO1.1]你的飞碟在这儿Your Ride Is He…
#include<bits/stdc++.h> using namespace std; int a,b; string s; int main() { cin>>s; a=1; for(uint32_t i=0;i<s.size();i++) a*=(s[i]-'A'+1), a%=47; cin>>s; b=1; for(uint32_t i=0;i<s.size();i++) b*=(s[i]-'A'+1), b%=47; if(a==b) cout<<"GO"<<endl; else cout<<"STAY"<<endl; }
P1308 统计单词数
(我觉得这题输入输出有毛病……跳过吧)
#include<bits/stdc++.h> using namespace std; string s; void rev(string& s) { int i=0, j=s.size()-1; while(i<j) swap(s[i++],s[j--]); } void del(bool f,string& s) { if(f) //后导零 { while(s.size() && s.back()=='0') s.erase(s.size()-1,1); if(s.empty()) s="0"; } else //前导零 { while(s.size() && s[0]=='0') s.erase(0,1); if(s.empty()) s="0"; } } int main() { cin>>s; int p; string a,b; if((p=s.find('.'))!=string::npos) //小数 { a=s.substr(0,p), b=s.substr(p+1); rev(a), rev(b); del(0,a), del(1,b); s=a+'.'+b; } else if((p=s.find('/'))!=string::npos) //分数 { a=s.substr(0,p), b=s.substr(p+1); rev(a), rev(b); del(0,a), del(0,b); s=a+'/'+b; } else if((p=s.find('%'))!=string::npos) //百分数 { a=s.substr(0,p); rev(a), del(0,a); s=a+'%'; } else rev(s), del(0,s); //整数 cout<<s<<endl; }
#include<bits/stdc++.h> using namespace std; string s[10]; int cnt[30]; int main() { for(int i=1;i<=4;i++) { getline(cin,s[i]); for(auto x:s[i]) if(isupper(x)) cnt[x-'A']++; } int mx=0; for(int i=0;i<26;i++) mx=max(mx,cnt[i]); for(int r=mx;r>=1;r--) { int lim=0; for(int c=0;c<26;c++) if(cnt[c]>=r) lim=c; for(int c=0;c<=lim;c++) { if(c>0) printf(" "); if(cnt[c]>=r) printf("*"); else printf(" "); } printf(" "); } for(int c=0;c<26;c++) { if(c>0) printf(" "); printf("%c",'A'+c); } }
#include<bits/stdc++.h> using namespace std; int n; string s; int main() { cin>>n>>s; for(auto x:s) cout<<(char)('a'+(x-'a'+n)%26); }