Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

参考《数据结构编程实验》 吴永辉

Posted by yzzxliuchao at 2016-12-21 14:43:05 on Problem 1281
#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;

const int maxn = 10000 + 10;
int cnt[maxn]; //耗费为k的进程数 
bool print[maxn];

int main()
{
	//freopen("manager.in","r",stdin);
	//freopen("manager.out","w",stdout);
	
	int minp = 1; //进程的最小耗费值 
	int maxp;     //进程的最大耗费值
	int plen;     //删除的进程数 
	int condition;//管理者的删除策略 
	
	while(cin >> maxp) //整个输入以测试数据组的首个整数为0(maxp==0)为止 
	{
		condition = 1;  //管理者的删除策略默认为1 
		memset(print,false,sizeof(print));
		memset(cnt,0,sizeof(cnt));
		
		cin >> plen;
		int x;
		for(int i = 1; i <= plen; i++) //将删除列表中的进程标志设为true 	
		{
			cin >> x;
			print[x] = true;	
		}
		getchar(); //跳过删除列表后的换行符 
		
		int np = 0; //当前被删除的进程数设为0
		char req; //命令类型 
		while(cin >> req && req != 'e') //输入请求类别 
		{
			if(req == 'a') 
			{
				cin >> x; //读进程的花费;相同耗费进程不止一个 
				cnt[x]++;
			}
			else if(req == 'r')
			{
				bool flag = true; //假设队列为空 
				if(condition == 1) //删除最小耗费 
				{
					for(int k = minp; k <= maxp; k++)
					{
						if(cnt[k] != 0)
						{
							cnt[k]--;
							np++; //累计被删除的进程 
							if(print[np] == true) cout << k << endl; //该进程在被删计划之列
							flag = false; 
							break;
						}
					}
				}
				else if(condition == 2) //删除最大耗费 
				{
					for(int k = maxp; k >= minp; k--)
					{
						if(cnt[k] != 0)
						{
							cnt[k]--;
							np++; //累计被删除的进程 
							if(print[np] == true) cout << k << endl; //该进程在被删计划之列 
							flag = false;
							break;
						}
					}
				}
				if(flag) cout << "-1" << endl; //队列为空,输出-1 
			}
			else if(req == 'p')
			{
				cin >> condition;
			}
		} 
		cout << endl; //用空行输出不同测试用例的结果 
	}
	
	//fclose(stdin);
	//fclose(stdout);
	
	return 0;
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator