Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

改了两个小时也没有改出来!!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:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator