E. VIP 打印队列

    传统题 1000ms 256MiB

VIP 打印队列

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目背景

运动会期间,打印店生意火爆。为了服务好赞助商和重要嘉宾,打印店推出了 VIP 优先服务。

题目描述

打印店有一个任务队列,包含普通任务(标记为 N)和 VIP 任务(标记为 V)。每个任务有一个唯一的编号(按输入顺序从 11 开始编号)。

打印规则如下:

  1. 按输入顺序初始化任务队列;
  2. 每次取出队首的任务进行打印,输出该任务的编号;
  3. 如果刚打印的是 VIP 任务,则在剩余队列中寻找第一个 VIP 任务,将其移动到队首;如果剩余队列中没有 VIP 任务,则继续按原顺序处理;
  4. 重复步骤 2-3,直到队列为空。

给定任务序列,请输出打印任务的顺序。

输入格式

第一行包含一个正整数 nn1n10001 \le n \le 1000),表示任务数量。

第二行包含 nn 个字符(NV),用空格分隔,依次表示每个任务的类型。

输出格式

一行,输出 nn 个整数,用空格分隔,表示打印任务的顺序(任务编号)。

样例

6
V N V N N V
1 3 6 2 4 5

样例说明

  • 初始队列:[V1,N2,V3,N4,N5,V6][V_1, N_2, V_3, N_4, N_5, V_6]
  • 打印 V1V_1(VIP),找到下一个 VIP 是 V3V_3,将其移到队首
  • 队列变为:[V3,N2,N4,N5,V6][V_3, N_2, N_4, N_5, V_6]
  • 打印 V3V_3(VIP),找到下一个 VIP 是 V6V_6,将其移到队首
  • 队列变为:[V6,N2,N4,N5][V_6, N_2, N_4, N_5]
  • 打印 V6V_6(VIP),队列中无 VIP,继续原顺序
  • 队列变为:[N2,N4,N5][N_2, N_4, N_5]
  • 依次打印 N2,N4,N5N_2, N_4, N_5
  • 最终顺序:1,3,6,2,4,51, 3, 6, 2, 4, 5

【基础算法/STL训练】最后的训练赛

未参加
状态
已结束
规则
XCPC
题目
6
开始于
2026-1-23 14:00
结束于
2026-1-23 18:00
持续时间
4 小时
主持人
参赛人数
9