样例过了,交上去全WA,有奆佬看看嘛
code:
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#define ll long long
using namespace std;
int n,l;
string ope;
string filename;
struct node{
bool lived;
string name;
}a[4001];
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
scanf("%d",&n);
for(int kk=1;kk<=n;kk++)
{
cin>>ope;
if(ope=="touch")
{
cin>>filename;
bool fl=1;
for(int i=1;i<=l;i++)
{
if(filename==a[i].name&&a[i].lived)
{
fl=0;break;
}
}
if(fl)
{
l++;
a[l].name=filename;
a[l].lived=1;
}
}
else if(ope=="rm")
{
cin>>filename;
for(int i=1;i<=l;i++)
{
if(a[i].name==filename&&a[i].lived) a[i].lived=0;
}
}
else if(ope=="rename")
{
string x,y;
cin>>x;
cin>>y;
bool fl=0;
for(int i=1;i<=l;i++)
{
if(a[i].name==y&&a[i].lived)
{
fl=1;
}
}
if(fl) continue;
for(int i=1;i<=l;i++)
{
if(a[i].name==x&&a[i].lived) a[i].name=y;
}
}
else if(ope=="ls")
{
for(int i=1;i<=l;i++)
{
if(a[i].lived) cout<<a[i].name<<endl;
}
}
}
}