无输入,求调

P4387 【深基15.习9】验证栈序列

sugawara @ 2023-08-14 16:15:09

#include<iostream>
using namespace std;
const int N=1e6+10;
int q; 
int main(){
    scanf("%d",&q);
    for(int i=1;i<=q;i++){
        int s[N],st[N],top=0,d[N],flag=0,n=0;
        scanf("%d",&n);
        for(int j=1;j<=n;j++) scanf("%d",&st[i]);
        for(int j=1;j<=n;j++) scanf("%d",&d[i]);
        s[top++]=st[1];
        for(int j=2;j<=n;j++){
            if(s[top-1]==d[i]) top--,flag=0;
            else flag++;
            s[top++]=st[j];
            if(flag>=2){
                printf("No");
                break;
            }
        }
        if(flag<2) printf("Yes");
    } 
    return 0;
}

by hexuchen @ 2023-08-14 16:17:11

@only__one 可能是数组开太大了


by lujunxuan123 @ 2023-08-14 16:18:08

@only__one 数组开外面


by lujunxuan123 @ 2023-08-14 16:18:58

这样内存不炸才怪


by sugawara @ 2023-08-14 16:19:31

@lujunxuan123 栓Q栓Q


by Soda_mew @ 2023-08-14 16:30:32

很大的数组开在main函数里面会爆栈,建议开外面


by xiayunpeng @ 2023-08-14 16:41:04

我,巴巴托斯,打钱!

——老骗子温迪重出江湖


by xiayunpeng @ 2023-08-14 16:43:39

@xiayunpeng 10000以上的数组别开mian里面 但最好都开外面,因为外面自动赋值0


|