[ACM]佳佳的课程 NUC关于入队考试那些事
来源:互联网 发布:好用的c语言编程软件 编辑:程序博客网 时间:2024/04/27 19:22
佳佳的课程设计
Time Limit:1000ms Memory Limit:65535K
Total Submissions:39 Accepted:21
Description
佳佳这学期学的操作系统课终于结课啦~(好高兴啊,又少一门课),但是周老师却布置了操作系统课程设计实验,当然不是让每个人写一个操作系统哈,而是让同学们模拟实现CPU调度运行进程的一个重要算法——时间片轮转调度算法。时间片轮转调度是一种最古老,最简单,最公平且使用最广的算法。每个进程被分配一个时间段,称作它的时间片,即该进程允许运行的时间。如果在时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程。如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。调度程序所要做的就是维护一张就绪进程列表,当进程用完它的时间片后,它被移到队列的末尾。但是周老师不仅要求大家实现这个算法,还要计算出CPU运行这些进程的平均周转时间(平均周转时间就是用总的周转时间除以进程个数,周转时间则是进程结束时间减去进程开始时间)。这可难倒了佳佳,聪明的你能帮帮她么?为了简化问题,假设CPU固定时间片为1,每个进程所需的CPU运行时间均为正整数。
Input
有多组测试数据,每组测试数据第一行输入一个正整数n(n ≤ 100),表示以下将给出n个进程,第二行则有n个正整数,用空格分开,分别表示1~n个进程每个进程所需的CPU运行时间。假设所有进程都是在0时刻以1~n的顺序几乎同时开始的(即所有进程的开始时间都为0)。
Output
每行首先输出“Case #t: ”,t表示当前是第t组测试数据,接着输出CPU运行这些进程的平均周转时间,保留3位小数。
Sample Input
24 432 9 1
Sample Output
Case #1: 7.500Case #2: 6.333
Hint
第一组测试数据是这样运行的:所以进程1的结束时间是7,进程2是8,则平均周转时间为(7+8)/2=7.500
Source
NUC
#include <stdio.h>#include <string.h>const int N = 105;int que[N];int BFS(int front,int rear,int n){ int ret = 0,tt = 0; while (front != rear) { int u = que[front ++]; front %= (n+1); tt ++,u --; if (u == 0) ret += tt; else { que[rear++] = u; rear %= (n+1); } } return ret;}int main (){ #ifdef LOCAL freopen("data1.in","r",stdin); #endif int n,a,cnt = 0; while (~scanf ("%d",&n)) { int rear = 0,front = 0; for (int i = 0;i < n;i ++){ scanf ("%d",&a); que[rear++] = a; } printf ("Case #%d: %.3f\n",++cnt,BFS(front,rear,n)*1.0/n); } return 0;}
0 0
- [ACM]佳佳的课程 NUC关于入队考试那些事
- 考试的那些事
- 考试的那些事……
- Nuc
- NUC
- 关于红帽RHCE考试的那些事儿
- 关于红帽RHCE考试的那些事儿
- 关于大学,关于计算机专业,关于ACM那些事
- MCSE2000 的考试课程介绍
- NUC郭姐的老婆
- NUC郭姐的数学
- ACM的那些故事
- 网上找的一个关于HP Mercury的考试课程的报价表
- 关于acm的事。
- 关于WAS的那些事....
- 关于foreach的那些事
- 关于成长的那些事
- 关于DOCTYPE的那些事
- 回调函数
- 另类求1+2+…+n
- MySQL WORKBENCH
- Spring框架学习【Spring具体事务处理器的实现】
- HackThisSite/Basic 6解决方案
- [ACM]佳佳的课程 NUC关于入队考试那些事
- 变态的libDispatch源码分析-全局队列异步延时任务处理过程-设置计时器与插入ds
- 【木马】流行木马列表
- Netty 学习(5) Netty Example--echo
- JAVA集合框架 黑马程序员学习笔记(11)
- set简单用法2 带排序的插入
- cve安全列表
- oracle中profile管理用户口令
- ios Crash Log 分析汇总