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