本人在本地编译器运行的时候编译通过,但一交上来就只有1个测试点正确,其余全部RE。我在调试的时候发现有可能是 pop_back 或者 push_front 的问题,但到现在都没有发现为什么出错。请问各位大佬有人知道改程序的错误吗?
#include<bits/stdc++.h>
using namespace std;
list<int> l[1000010];
int main()
{
int q,a,x;
string s;
cin>>q;
while (q--)
{
cin>>s;
if (s=="push_back")
{
cin>>a>>x;
l[a].push_back(x);
}
else if (s=="pop_back")
{
cin>>a;
if (l[a].size()>0)
{
l[a].erase(l[a].end());
}
}
else if (s=="push_front")
{
cin>>a>>x;
l[a].push_front(x);
}
else if (s=="pop_front")
{
cin>>a;
if (l[a].size()>0)
{
l[a].erase(l[a].begin());
}
}
else if (s=="size")
{
cin>>a;
cout<<l[a].size()<<endl;
}
else if (s=="front")
{
cin>>a;
if (l[a].size()>0)
{
cout<<l[a].front()<<endl;
}
}
else
{
cin>>a;
if (l[a].size()>0)
{
cout<<l[a].back()<<endl;
}
}
}
return 0;
}