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; }
?
原文:http://bbezxcy.iteye.com/blog/2183552