首页 > 其他 > 详细

Codeforces Round #289 (abce)

时间:2015-02-06 02:12:38      阅读:297      评论:0      收藏:0      [点我收藏+]

A

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
long long num[20][20];
int main(){
    long long i,j,k,a,b,c;
    while(cin>>a){
        for(i=1;i<=a;i++){
            num[i][1]=num[1][i]=1;
        }
        for(i=2;i<=a;i++){
            for(j=2;j<=a;j++){
                num[i][j]=num[i-1][j]+num[i][j-1];
            }
        }
        cout<<num[a][a]<<endl;
    }
    return 0;
}

B

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int num[200];
int main(){
    int n,k,i,j,a,b,c,mn,mx;
    while(cin>>n>>k){
        mn=1000;
        mx=-1;
        for(i=1;i<=n;i++){
            scanf("%d",&num[i]);
            mn=min(num[i],mn);
            mx=max(num[i],mx);
        }
        if(mx-mn>k){
            cout<<"NO\n";
        }else{
            cout<<"YES\n";
            for(i=1;i<=n;i++){
                for(j=1;j<num[i];j++){
                    a=j%k;
                    if(a==0)a=k;
                    printf("%d ",a);
                }
                a=num[i]%k;
                if(a==0)a=k;
                printf("%d\n",a);
            }
        }
    }
    return 0;
}

?

C

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
int opt[1000],n,len,num[1000];
void gao(int a){
    int k=1;
    while(a){
        if(opt[k]<9){
            a--;
            opt[k]++;
        }else{
            while(opt[k]==9)k++;
            opt[k]++;
            a--;
            if(k>len)len=k;
        }
    }
}
int main(){
    int i,j,k,a,b,c;
    while(cin>>n){
        for(i=1;i<=n;i++){
            scanf("%d",&num[i]);
        }
        len=1;
        memset(opt,0,sizeof(opt));
        gao(num[1]);
        for(i=len;i>=1;i--)printf("%d",opt[i]);
        printf("\n");
        for(i=2;i<=n;i++){
            if(num[i]>num[i-1]){
                gao(num[i]-num[i-1]);
                for(j=len;j>=1;j--)printf("%d",opt[j]);
                printf("\n");
            }else{
                a=num[i]-num[i-1];
                k=1;
                while(1){
                    if(opt[k]!=9&&a>0){
                        opt[k]++;
                        a--;
                        if(k>len)len=k;
                        gao(a);
                        break;
                    }
                    a+=opt[k];
                    opt[k]=0;
                    k++;
                }
                for(j=len;j>=1;j--)printf("%d",opt[j]);
                printf("\n");
            }
        }
    }
    return 0;
}

E

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
const int Max = 500005;
char str[500009];
int fuck[1000];
double ddd[500009];
int main(){
    int i,j,k,a,b,c,len;
    memset(fuck,0,sizeof(fuck));
    fuck[‘I‘]=fuck[‘E‘]=fuck[‘A‘]=fuck[‘O‘]=fuck[‘U‘]=fuck[‘Y‘]=1;
    while(scanf("%s",str)!=EOF){
        double res=0;
        len=strlen(str);
        double afk=0;
        for(i=1;i<=len;i++){
            afk+=(1.0)/i;
        }

        b=1,c=len;
        ddd[1]=afk;
        for(i=2;i<=(len+1)/2;i++){
            ddd[i]=ddd[i-1]+afk;
            ddd[i]-=(1.0)/(1.0*b);
            ddd[i]-=(1.0)/(1.0*c);
            afk-=(1.0)/(1.0*c);
            afk-=(1.0)/(1.0*b);
            b++,c--;
        }
        b=1;
        for(i=len;i>(len+1)/2;i--){
            ddd[i]=ddd[b];
            b++;
        }
        for(i=0;i<len;i++){
            if(fuck[str[i]]){
                res+=ddd[i+1];
            }
        }
        printf("%.6f\n",res);
    }
    return 0;
}

?

Codeforces Round #289 (abce)

原文:http://bbezxcy.iteye.com/blog/2183552

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!