Codeforces Round #640 (Div. 4)
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;
}
查看8道真题和解析
