SHAOXIAOJ正在加载中...

2634: 回溯法-最佳调度问题

金币值:3 定数:9 时间限制:1.000 s 内存限制:128 M
正确:3 提交:3 正确率:100.00% 命题人:
点赞量:0 收藏量:0 题目类型:程序 知识点: 算法设计

题目描述

假设有n个任务由k个可并行工作的机器来完成。完成任务 i 需要时间为 ti,设计完成这n个任务的最佳调度算法,使得完成全部任务的时间最早。

测试代码   复制

#include<stdio.h>
#include<string.h>

int n;  //任务个数,小于等于10 
int k;  //机器台数,小于等于10 
int t[11]; //ti记录完成第i个任务需要的时间,0号单元不用 
int x[11]; //xi记录第i个任务分配的机器编号,0号单元不用
int y[11]; //yi记录第i台机器执行完任务时间,0号单元不用
int bestTime=65535;//保存执行完全部任务的最少时间

void backtrack(int i) {
	if(i>n) {
		
	} else {
		for(int j=1;j<=k;j++){
			
		}	
	}
}

int main(void) {
	scanf("%d %d",&n,&k);
	for(int i=1;i<=n;i++){
		scanf("%d",&t[i]);
	}
	backtrack(1);
	printf("%d\n",bestTime);
	return 0;
}

输入格式

第一行输入两个正整数,分别表示n个作业和k台机器
第二行输入n个正整数,分别表示每个作业需要运行的时间

输出格式

输出完成作业调度任务的最少时间。

输入样例    复制

7 3
2 14 4 16 6 5 3

输出样例    复制

17