纪中一测

2019.07.05(我爆了)

由于freopen导致运行错误

T0 铁轨

一道有关“出栈合法性”的模拟
本来读入是自信无问题的

while(scanf("%d",&n),n!=0)
    {
        for(int i=1;i<=10;i++)
        {
            memset(a,0,sizeof(a));
            scanf("%d",&a[1]);
            if(a[1]==0) break;
            for(int j=2;j<=n;j++)
            {
               scanf("%d",&a[j]);  
            }
            //if(pd()==true)
            //{
             //     cout<<"Yes"<<endl;
            //}
            //else if(pd()==false)
            //{
            //      cout<<"No"<<endl;
            //}
        }
        cout<<endl;
    }

结果就TLE了。ZX说是for循环浪费时间,换成了这个

while(scanf("%d",&n))
    {
        if(n==0) break;
        memset(a,0,sizeof(a));
        while(cin>>a[1],a[1]!=0)
        {
            for(int j=2;j<=n;j++)
            {
               scanf("%d",&a[j]);  
            }
            if(pd()==true)
            {
                cout<<"Yes"<<endl;
            }
            else if(pd()==false)
            {
                cout<<"No"<<endl;
            }
        }
        cout<<endl;
    }

然后就是AC惹~

T1 独立集

这道题是我思考最长时间的一道
几乎整个考试都在想:
开始,我认为可通过模拟找出递推式,竟然神奇的表示出了每一层的边数,然后就在错误的道路上渐行渐远······

实际上这就是树形DP,

猜你喜欢

转载自www.cnblogs.com/HHHG/p/11140465.html