zoukankan      html  css  js  c++  java
  • Uva


    用队列模拟即可,用优先队列是不行的,因为优先队列的各个元素的相对位置是不变的。

    AC代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cctype>
    #include <cstring>
    #include <string>
    #include <sstream>
    #include <vector>
    #include <set>
    #include <map>
    #include <algorithm>
    #include <stack>
    #include <queue>
    
    using namespace std;
    
    const int maxn = 105;
    
    struct SNode
    {
    	SNode(int pri = 0, bool tar = false) {
    		priority = pri;
    		target = tar;
    	}
    	int priority;
    	bool target;
    };
    
    int cmp(int a, int b)
    {
    	return a > b;
    }
    
    int main()
    {
    	ios::sync_with_stdio(false);
    	int T;
    	cin >> T;
    
    	while (T--) {
    		int jobs[maxn];
    		queue<SNode> que;
    		int n, target;
    		memset(jobs, 0, sizeof(jobs));
    		while (!que.empty()) {
    			que.pop();
    		}
    		cin >> n >> target;
    		for (int i = 0; i < n; i++) {
    			int priority;
    			cin >> priority;
    
    			if (i == target) {
    				que.push(SNode(priority, true));
    			}
    			else {
    				que.push(SNode(priority, false));
    			}
    			jobs[i] = priority;
    		}
    
    		sort(jobs, jobs + maxn, cmp);
    
    		bool ok = false;
    		int count = 0;
    		int *p = jobs;
    		while (!ok) {
    			SNode front = que.front();
    			que.pop();
    			if (front.priority == *p) {
    				count++;
    				p++;
    				if (front.target) {
    					ok = true;
    				}
    			}
    			else {
    				que.push(front);
    			}
    		}
    
    		cout << count << endl;
    	}
    
    	return 0;
    }




  • 相关阅读:
    BUU-singal
    BUU-[GWCTF 2019]re3
    BUU-[2019红帽杯]xx
    BUU-BabyDriver
    BUU-simple CPP
    BUU-BJD hamburger competition
    BUU-Youngter-drive
    用于阻止div上的事件和div上的按钮的事件同时触发
    错误: java.lang.reflect.InvocationTargetException
    easy ui datagrid 让某行复选框不能选中
  • 原文地址:https://www.cnblogs.com/zhangyaoqi/p/4591585.html
Copyright © 2011-2022 走看看