题目链接:Printer Queue UVA - 12100
题目:主要是对队列的应用。。。。
ac代码:
开始把队列搞成全局变量wa了好几发。。。。
#include<iostream>
#include<string>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<queue>
#include<stack>
#include<map>
#include<vector>
#include<iomanip>
#include<set>
#include<sstream>
#define ll long long
using namespace std;
struct in{
int x,v;
} m[200];
bool vis[200];
int main()
{
int t;
scanf("%d",&t);
while(t--) {
int n,k;
queue< in > q;
memset(vis, 0, sizeof(vis));
scanf("%d%d",&n,&k);
for(int i = 0; i < n; i++) {
scanf("%d",&m[i].v);
m[i].x = i;
q.push(m[i]);
}
int sum = 0;
while(!q.empty()) {
struct in a = q.front();
q.pop();
bool f = true;
for(int i = 0; i < n; i++) {
if(m[i].v > a.v&&(!vis[i])) {
q.push(a);
f = false;
break;
}
}
if(f) {
sum++;
vis[a.x] = true;
if(a.x == k) break;
}
}
printf("%d\n",sum);
}
return 0;
}