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,