UVa 12100

来源:互联网 发布:全面战争战锤 linux 编辑:程序博客网 时间:2024/05/21 10:14

題目:有一個打印機,裡面有很多任務。打印的時候,如果隊列中後面的文件優先級高,

            則先打印優先級最高的文件,前面的任務依次放入隊尾,問第每m個文件何時打印。

           (所有文件打印都只需要1個單位時間,其它動作不耗時)

分析:數據結構、模擬。直接利用一個隊列模擬即可。

說明:第911題,O(∩_∩)O~。

#include <stdio.h>#include <stdlib.h>int Q[10001];int main(){int t, n, m;while (~scanf("%d",&t))while (t --) {scanf("%d%d",&n,&m);for (int i = 0; i < n; ++ i) {scanf("%d",&Q[i]);}int tail = n, head = 0, ans = 0;while (head < tail) {ans ++;int index = head;for (int i = head+1; i < tail; ++ i) {if (Q[index] < Q[i]) {index = i;}}while (head < index) {if (head == m) {m = tail;}Q[tail ++] = Q[head ++];}if (head == m) { // find mebreak;}head ++; // print}printf("%d\n",ans);}return 0;}


原创粉丝点击