大家帮我分析一波(玄2关!)
  • 板块灌水区
  • 楼主一咕咕一
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/10/19 10:33
  • 上次更新2024/10/19 12:37:20
查看原帖
大家帮我分析一波(玄2关!)
772815
一咕咕一楼主2024/10/19 10:33

测评记录

My Code:

#include <bits/stdc++.h>
using namespace std;
class Node
{
public:
    int L, R, num;
};
queue<Node> q;
int n, a[200007], flag = 2;
int main()
{
    // freopen(".in", "r", stdin);
    // freopen(".out", "w", stdout);
    scanf("%d", &n);
    for (int i = 1; i <= n; i++)
        scanf("%d", &a[i]);
    q.push({1, 1, a[1]});
    for (int i = 2; i <= n; i++)
    {
        if (a[i] == q.back().num)
            q.back().R = i;
        else
            q.push({i, i, a[i]});
    }
    while (!q.empty())
    {
        int len = q.size(), flag = 2;
        for (int i = 1; i <= len; i++)
        {
            if (q.front().num != flag)
            {
                flag = q.front().num;
                printf("%d ", q.front().L);
                q.front().L++;
            }
            if (q.front().L <= q.front().R)
                q.push(q.front());
            q.pop();
        }
        putchar('\n');
    }
    return 0;
}
2024/10/19 10:33
加载中...