Codeforces推出的小白场Div4,针对Rating 1400以下的,题目都比较水,就直接贴代码吧
#include "bits/stdc++.h" using namespace std; int T; int main() { //freopen("in.txt","r",stdin); cin>>T; while(T--){ string s; cin>>s; int cnt=0; for(int i=0;i<s.length();i++){ if(s[i]>='1'&&s[i]<='9') cnt++; } cout<<cnt<<endl; int num=1; for(int i=0;i<s.length();i++){ if(s[i]>='1'&&s[i]<='9'){ cout<<s[i]; for(int j=1;j<=s.length()-1-i;j++) cout<<"0"; cout<<" "; } } cout<<endl; } return 0; }
#include "bits/stdc++.h" using namespace std; typedef long long LL; int t; LL n,k; int main() { //freopen("in.txt","r",stdin); scanf("%d",&t); while(t--){ scanf("%lld%lld",&n,&k); if(k>n){ printf("NO\n"); }else if(k==n){ printf("YES\n"); for(int i=1;i<=k;i++) printf("1 "); printf("\n"); }else{ if(n%2){ if(k%2==0){ printf("NO\n"); }else{ printf("YES\n"); for(int i=1;i<k;i++) printf("1 "); printf("%lld\n",n-(k-1)); } }else{ if(k%2==0){ printf("YES\n"); for(int i=1;i<k;i++) printf("1 "); printf("%lld\n",n-(k-1)); }else{ if(n<2*k){ printf("NO\n"); }else{ printf("YES\n"); for(int i=1;i<k;i++){ printf("2 "); n-=2; } printf("%lld\n",n); } } } } } return 0; }
#include "bits/stdc++.h" using namespace std; typedef long long LL; int T; LL n,k; int main() { //freopen("in.txt","r",stdin); scanf("%d",&T); while(T--){ scanf("%lld%lld",&n,&k); LL sum=k; LL mod=0; while(k>=n){ LL tmp=k/n; sum+=tmp; //sum+=(mod+tmp)/n; mod=k%n; k=(mod+tmp); // sum+=mod; } printf("%lld\n",sum); } return 0; }
#include "bits/stdc++.h" using namespace std; const int maxn=1000+10; int T,n,a[maxn]; int main() { //freopen("in.txt","r",stdin); scanf("%d",&T); while(T--){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); int i=1,j=n; int tmp=0; int preA=0,preB=0,totalA=0,totalB=0; while(i<=j){ ++tmp; if(tmp%2){ while(i<=j&&preA<=preB){ preA+=a[i]; i++; } totalA+=preA; preB=0; //i++; }else{ while(i<=j&&preB<=preA){ preB+=a[j]; j--; } totalB+=preB; preA=0; //j--; } } printf("%d %d %d\n",tmp,totalA,totalB); } return 0; }
#include "bits/stdc++.h" using namespace std; const int maxn=8000+10; int dp[maxn],n,t,a[maxn],vis[maxn]; int main() { //freopen("in.txt","r",stdin); scanf("%d",&t); while(t--){ memset(dp,0,sizeof(dp)); memset(vis,0,sizeof(vis)); scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); dp[i]=dp[i-1]+a[i]; if(dp[i]>8000) continue; if(i!=1){ vis[dp[i]]=1; } } for(int i=2;i<=n;i++){ for(int j=i-1;j>=1;j--){ if(dp[i]-dp[j-1]>8000) continue; vis[dp[i]-dp[j-1]]=1; } } int cnt=0; for(int i=1;i<=n;i++){ if(vis[a[i]]) cnt++; } printf("%d\n",cnt); } return 0; }
F. Binary String Reconstruction
#include "bits/stdc++.h" using namespace std; int T,n0,n1,n2; int main() { //freopen("in.txt","r",stdin); scanf("%d",&T); while(T--){ scanf("%d%d%d",&n0,&n1,&n2); string res=""; if(n0){ if(n0==1) res+="00"; else{ for(int i=0;i<=n0;i++) res+='0'; } } int flag=0; if(n1){ if(n1%2==0){ flag=1; n1-=1; } if(n0){ if(n1==1) res+="1"; else{ res+='1'; n1-=2; for(int i=1;i<=(n1+1)/2;i++) res+="01"; } }else{ if(n1==1){ res+="01"; }else{ for(int i=1;i<=(n1+1)/2;i++) res+="01"; } } } if(n2){ if(n1==0){ if(n2==1) res+="11"; else{ for(int i=0;i<=n2;i++) res+='1'; } }else{ for(int i=1;i<=n2;i++) res+='1'; } } if(flag){ res+='0'; } cout<<res<<endl; } return 0; }
#include "bits/stdc++.h" using namespace std; const int maxn=1000+10; int t,n; int vis[maxn]; int main() { //freopen("in.txt","r",stdin); scanf("%d",&t); while(t--){ scanf("%d",&n); if(n<=3) printf("-1\n"); else{ for(int i=n;i>=1;i--){ if(i&1) printf("%d ",i); } printf("4 2 "); for(int i=6;i<=n;i+=2) printf("%d ",i); printf("\n"); } } return 0; }