比赛地址 : https://www.luogu.com.cn/contest/28258
我参加的是Div.2,比Div.1简单
第一题:
只要你有耐性,慢慢敲就好了。
代码:
#pragma GCC optimize(3) #include<bits/stdc++.h> using namespace std; int main() { string a; cin>>a; if(a[0]=='M'&&a[1]=='D'&&a[2]=='A') { int p; for(int i=7;i>=0;i--) { if(a[i]>='0'&&a[i]<='9') { p=a[i]-'0'; break; } } if(p==1||p==9) { cout<<"1 0 0 0 0"<<endl; } else if(p==2||p==8) { cout<<"0 1 0 0 0"<<endl; } else if(p==3||p==7) { cout<<"0 0 1 0 0"<<endl; } else if(p==4||p==6) { cout<<"0 0 0 1 0"<<endl; } else if(p==5||p==0) { cout<<"0 0 0 0 1"<<endl; } } else { cout<<"1 1 1 1 1"<<endl; } return 0; }
第二题:
第一次80,第二次100
慢慢算下去就会有规律......
#pragma GCC optimize(3) #include<bits/stdc++.h> using namespace std; int main() { /*int a,b; cin>>a>>b; string s; cin>>s; string p; if(a==2) { if(s[0]=='0') p+='1'; else p+='2'; for(int i=1;i<b;i++) { if(s[i]=='0') p+='1'; else p+='0'; } cout<<p<<endl; } else if(a==3) { if(s[0]=='0') p+='1'; else p+='3'; for(int i=0;i<b;i++) { if(s[i]=='0') p+='1'; else p+='0'; } cout<<p<<endl; } else if(a==4) { }*/ int a,b; cin>>a>>b; string s; cin>>s; string p; if(a==10&&s[0]=='1') { cout<<-1<<endl; return 0; } int ans=0; if(s[0]=='0') { p+='1'; ans++; } else { p+=(a+'0'); ans+=a; } for(int i=1;i<b;i++) { ans=ans%a; ans=ans*(10%a); if(s[i]=='0') { if(ans%a==0) { ans++; ans=ans%a; p+='1'; } else p+='0'; } else { if(ans%a==0) p+='0'; else { int u=a-ans%a; p+=(u+'0'); ans+=u%a; ans=ans%a; } } } cout<<p<<endl; return 0; }
第三题和第四题......
就到这,继续努力!!