书上没有链接
5.2 队列 P69(书上代码也奇奇怪怪)
#include <iostream> #include <cstdio> #include <queue> #include <vector> using namespace std; queue<int> dog; queue<int> cat; vector<int> order;//标记 int main() { int n,m,t; int j=-1;//删到哪个了 int k=0;//总共k个动物 scanf("%d",&n); for(int i=0; i<n; ++i) { scanf("%d %d",&m,&t); if(m==1){ ++k; if(t<0){ cat.push(t); order.push_back(0);//0代表猫,1代表狗 } else{ dog.push(t); order.push_back(1); } } else{ ++j; if(k>=j+1){//收留个数>=送出去个数 if((t==0&&order[j]==1)||t==1){ printf("%d ",dog.front()); dog.pop(); } else{ printf("%d ",cat.front()); cat.pop(); } } } } }