不可能,绝对不可能!!
查看原帖
不可能,绝对不可能!!
565070
2345A楼主2024/3/14 12:37

为何题解代码可以AC:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n,p=1;
    string opt,t,tt,z[1001];
    bool f=0;
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>opt;
		f=0;
		if(opt=="touch")
		{
			cin>>t;
			for(int i=1;i<=p;i++)
			{
				if(z[i]==t) 
				{
					f=1;
					break;
				}
			}
			if(f==0) 
			z[p]=t,p++;
		}
		else if(opt=="rm")
		{
			cin>>t;
			for(int i=1;i<=p;i++)
			{
				if(z[i]==t) 
				{
					z[i]="";
					break;
				}
			}
		}
		else if(opt=="ls")
		{
			for(int i=1;i<=p;i++)
			{
				if(z[i]!="") 
				cout<<z[i]<<endl;
			}
		}
		else if(opt=="rename")
		{
			cin>>tt>>t; 
			for(int i=1;i<=p;i++)
			{
				if(z[i]==tt) 
				{
					z[i]=t;
					break;
				}
			}
		}
	}
    return 0;
} 

而我的只可以的4040!!!!(感觉没有区别)

#include<bits/stdc++.h>
using namespace std;
int main()
{
	long long n,ans=1,zj=0;
	string a,b,c,d[1000];
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a;
		zj=0;
		if(a=="touch")
		{
			   cin>>b;
			   for(int i=1;i<=ans;i++)
			   {
				    if(d[i]==b)
				    {
					zj=1;
					break;
				    }
			   }
				if(zj!=1)
				{
					d[ans]=b;
					ans++;
				}
		  }
			 if(a=="rm")
				{
					cin>>b;
					for(int i=1;i<=ans;i++)
					{
						if(d[i]==b)
						{
							d[i]="";
							break;
						}
					}
				}
				if(a=="ls")
				{
					for(int i=1;i<=ans;i++)
					{
						if(d[i]!="")
						cout<<d[i]<<endl;
					}
				}
				if(a=="rename")
				{
					cin>>b>>c;
					for(int i=1;i<=ans;i++)
					{
						if(d[i]==c)
						{
							d[i]==b;
							break;
						}
					}
				}
			}
	return 0;
}
2024/3/14 12:37
加载中...