HELP!萌新求助!
查看原帖
HELP!萌新求助!
68574
HGJH°L楼主2021/10/2 15:30

样例过了,第二个点也过了,但是其他全WA?(疑惑.jpg)这贞德合理吗?qq_emoji: tt

#include<bits/stdc++.h>
#define gc getchar()

using namespace std;

int n,m;
bitset <50004> f;//可理解为bool数组
int pre[50004];//手动模拟栈,记录上一个被炸掉的房子
int cnt;
int ans;
char c;
int t;

signed main()
{

    read(n,m);
    while (m--)
    {
        c=gc;
        if (c=='\n'||c==' ')
            c=gc;
        switch (c)
        {
            case 'D':
                read(t);
                f[pre[++cnt]=t]=1;
                break;
            case 'Q':
                read(t);
                if (cnt==0)
                    print(n,'\n');
                else if (f[t])
                    puts("0");
                else
                {
                    ans=1;
                    for (ri i=t-1;i>0&&!f[i];i--)
                        ans++;
                    for (ri i=t+1;i<=n&&!f[i];i++)
                        ans++;
                    print(ans,'\n');
                }
                break;
            case 'R':
                f[pre[cnt--]]=0;
                break;
        }
    }
    return 0;
}

PS:read()和print()是自己写的快读和快输,没有问题

2021/10/2 15:30
加载中...