-
时间:2016-04-09 23:29:47 星期六
-
题目编号:[2016-04-09][codeforces][660][B][Seating On Bus]
-
题目大意:按指定顺序入座,按指定顺序出座,问最后出座的顺序
-
分析:直接4个queue模拟一遍
#include<cstdio>
#include<queue>
using namespace std;
queue<int> q[4];
int main(){
int n,m;
scanf("%d%d",&n,&m);
int i = 1;
for(;i <= 2*n && i <= m;++i)
q[i&1].push(i);
for(;i<=4*n && i<= m;++i)
q[(i&1) + 2].push(i);
while(!q[0].empty() || !q[1].empty()||!q[3].empty()||!q[2].empty()){
if(!q[3].empty()){
printf("%d ",q[3].front());q[3].pop();
}
if(!q[1].empty()){
printf("%d ",q[1].front());q[1].pop();
}
if(!q[2].empty()){
printf("%d ",q[2].front());q[2].pop();
}
if(!q[0].empty()){
printf("%d ",q[0].front());q[0].pop();
}
}
return 0;
}
时间: 2024-10-12 08:05:27