| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
有没有帮忙的?In Reply To:改了两个小时也没有改出来!!ft~~~~~~~~~ 过了的给点数据吧! Posted by:ook at 2005-08-03 15:22:32 > #include "stdio.h"
> int a[11];
> int m,n,k;
>
> int step(int m1,int n1,int k1)
> {
> int flag1,flag2,i,j,temp;
> if(n1==0) return 0;
> temp=m1-n1+1;
> j=n1;
> flag1=0;
> for(i=temp;i>=1;i--)
> {
> if(i*(1+i)/2<k1)
> {
> flag1++;
> k1=k1-i*(1+i)/2;
> }
> else
> break;
> }
> flag2=0;
> for(i=temp-flag1;i>=1;i--)
> {
> if(k1>i)
> {
> k1-=i;
> flag2++;
> }
> else
> break;
> }
> a[j]=i-k1+1;
> if(flag1>0)
> step(m1-a[j],j-1,(temp-a[j]+1 + temp-a[j]+1-flag1+1)/2+flag2+1);
> else
> step(m1-a[j],j-1,flag2+1);
> }
>
> int main()
> {
> int i,j,temp,time;
> scanf("%d",&time);
> while(time-->0)
> {
> scanf("%d%d%d",&m,&n,&k);
> step(m,n,k);
> for(i=1;i<=n;i++)
> {
> printf("%d\n",a[i]);
> }
> }
> return 1;
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator