zoukankan      html  css  js  c++  java
  • ZZUOJ-1195-OS Job Scheduling(郑州大学第七届ACM大学生程序设计竞赛E题)

    1195: OS Job Scheduling

    Time Limit: 2 Sec  Memory Limit: 128 MB
    Submit: 106  Solved: 35
    [Submit][Status][Web Board]

    Description

    OS(Operating System) is to help user solve the problem, such as run job(task).A multitasking OS is one that can simultaneously interleave execution of more than one job .It means that, at the same time, more than one job waiting for being processed by the OS. But now that the OS is only one processor, a processor can only execute one job at the same time. So the OS will be decided at a time which one job be processed. Each job has three property: time(the time submit to the system), priority (Perform high priority) and length(the running time of job). In order to improve the throughput(the number of unit time processing jobs) about OS, there are several basic algorithms to solve this problem. They were explained in the following:  
     
    FCFS: first come first service 
    The jobs are executed on first come, first serve basis. It is easy to understand and implement, but it is poor in performance as average wait time is high. 
     
    SJF: Shortest job first. 
    It is the best approach to minimize waiting time, but impossible to implement. The processor should know in advance how much time process will take. 
     
    PBS: Priority based scheduling 
    Each process is assigned a priority. Process with highest priority is to be executed first and so on. Processes with same priority are executed on first come first serve basis. 
     
    Today,  Chris's teacher gave him a homework: given n jobs and the time of each job submission to the system, use the method of FCFS(The first submit is executed first),to decide the order of the operation is performed. 
     
    Chris get confused with this problem thoroughly, so he ask you for help. Please help him to solve this problem.

    Input

    There are multiple input data groups, for each input data group:
    The first line of input an integer n (1≤n≤1000),the number of the job should to be handled. The next line contains n space-separated integer numbers. The i-th number ti (1≤i≤1000, 1≤ti≤1000)denotes the time of i-th  job be submitted. It is essential that ti≠tj(1≤i , j≤1000 && i≠j )

    Output

    For each input data group, print n space-separated integer numbers, the i-th number represents the i-th run jobs.

    Sample Input

    5
    1 2 3 4 5
    5
    5 4 3 2 1
    5
    3 2 4 1 5

    Sample Output

    1 2 3 4 5
    5 4 3 2 1
    4 2 1 3 5

    HINT

    Source

    郑州大学第七届ACM大学生程序设计竞赛


    大概是上学期吧,那次比赛,水平太菜了,当时看到全英文都没敢做。

    。。唉:-(

    如今看看这题,简直简单啊!!

    AC代码:

    #include <cstdio>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    
    struct fun
    {
    	int jobi;
    	int t;
    }job[1010];
    
    bool cmp(fun a, fun b)
    {
    	return a.t<b.t;
    }
    
    int main()
    {
    	int T;
    	while(scanf("%d", &T)!=EOF)
    	{
    		int i;
    		for(i=1; i<=T; i++)
    		{
    			job[i].jobi=i;
    			scanf("%d", &job[i].t);
    		}
    		sort(job+1, job+T+1, cmp);
    		for(i=1; i<T; i++)
    			printf("%d ", job[i].jobi);
    		printf("%d
    ", job[i].jobi);
    	}
    	return 0;
    }


  • 相关阅读:
    PMP工具与技术篇--4.2.1-4 思维导图(数据表现技术)
    PMP工具与技术篇--4.2.1-3 决策--多标准决策分析技术
    PMP工具与技术篇--4.2.1-2 决策--投票(举手表决)
    PMP工具与技术篇--4.2.1-1 标杆对照技术(数据收集技术)
    PMP工具与技术篇--4.2.1 收集需求工具与技术总结
    PMP--4.2.1-2 需求跟踪矩阵
    PMP--4.2.1-1 需求文件
    PMP--4.2.1 收集需求--需求文件--需求跟踪矩阵
    PMP工具与技术篇--4.2 备案分析(数据分析技术)
    PMP--4.2-2 开发方法
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/6881873.html
Copyright © 2011-2022 走看看