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

暴力通过(216K 32MS)(附代码)

Posted by zhangmytf at 2009-05-30 13:41:20 on Problem 2051
#include<stdio.h>

int n;
typedef struct//p存放间隔时间,time存放当前叠加到得时间,num存放编号
{
	int num;
	int time;
	int p;
}task;

task t[1001];
	 

int cmp( task const * a , task const * b )//按编号大小排序
{
	return (a->num - b->num);
}


int find()//找到即将欲行的线程,返回线程号
{
	int i,mintime,mini;

	mini=1;
	mintime=t[1].time;
	for(i=1;i<=n;i++)
	{
		if(t[i].time<mintime)
		{
			mintime=t[i].time;
			mini=i;
		}
	}

	return mini;
}

void main()
{
	int i,k,j;
	char tt[50];
	char ttt[]="#";
	


	for(i=1;;i++)
	{
		scanf("%s",tt);
		if(strcmp(tt,ttt)==0)
			break;
		scanf("%d%d",&t[i].num ,&t[i].p);
		t[i].time=t[i].p;
	}

	scanf("%d",&k);

	n=i-1;	

	qsort(&(t[1]),n,sizeof(task),cmp);//按编号大小排序

	for(i=1;i<=k;i++)
	{
		j=find();
		t[j].time=t[j].time + t[j].p;
		printf("%d\n",t[j].num);
	}

	return;

}

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