题意:
输入 Register y年份 f类似频率(每f返回一次)
输入#结束输入,再输入一个数字n最后输出n行,代表返回的年份次序。
唉~~死在格式上!!!!!
AC代码:
#include <iostream>
#include <cstdio>
#include <iomanip>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <map>
#include <set>
#include <vector>
#include<deque>
#include<queue>
#include<stack>
using namespace std;
struct po
{
int y,t,ti;
bool operator <(const po& a)const
{
if(a.ti<ti)
return true;
else if(a.ti==ti&&a.y<y)//排序
return true;
else
return false;
}
};
int main()
{
priority_queue <po> que;
po m; int n; int a,b;
string s;
while(cin>>s)
{
if(s[0]=='#')
{
break;
}
scanf("%d%d",&a,&b);
que.push((po){a,b,b});//!!!!!!!!!//或者que.push(po(a,b,b));前提是结构体中些构造函数)!!
}
scanf("%d",&n);
for(int i=0;i<n;i++)
{
po u=que.top();
que.pop();
cout<<u.y<<endl;
u.ti+=u.t;
que.push((po){u.y,u.t,u.ti});//!!!!!!!!!!!
}
}