0pts,帮一下忙吧!
查看原帖
0pts,帮一下忙吧!
1151818
xxJoy0420楼主2024/7/16 10:26
#include<bits/stdc++.h>
using namespace std;
struct node{
	string name;
	long long score; 
}a[100005];
string nam;
long long n,lx,head=1,tail,scor;
void cr(string na,int sco)
{
	if(head<=tail)
	{
		int f=1;
		for(int i=head;i<=tail;i++)
		if(a[i].name==na)
		{
			a[i].score=sco,f=0;
			break;
		}
		if(f)
		a[++tail].name=na,a[tail].score=sco;
	}
	else
	a[++tail].name=na,a[tail].score=sco;
	cout<<"OK";
}
void cx(string na)
{
	bool f=1;
	if(head<=tail)
	{
		for(int i=head;i<=tail;i++)
		if(a[i].name==na)
		{
			cout<<a[i].score;
			f=0;
		}
		if(f) cout<<"Not found";
	}
	else
	cout<<"Not found";
}
void sc(string na)
{
	if(head<tail)
	{
		bool f=1;
		for(int i=head;i<=tail;i++)
		if(a[i].name==na)
		{
			swap(a[i],a[head]);
			head++;cout<<"Deleted successfully";
			f=0;break;
		}
		if(f) cout<<"Not found";
	}
	else if(head==tail)
	if(a[head].name==na)
	{
		head++;
		cout<<"Deleted successfully";
	}
	else
	cout<<"Not found";
}
int main()
{
	cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>lx;
    	if(lx==1)
    	{
    		cin>>nam>>scor;
    		cr(nam,scor);
    	}
    	if(lx==2)
    	{
    		cin>>nam;
    		cx(nam);
    	}
    	if(lx==3)   
    	{
    		cin>>nam;
    		sc(nam);
    	}
    	if(lx==4)
    	cout<<tail-head+1;
    }
    return 0;
}

真不懂哪错了,各位dalao能不能帮忙看一下?

已检查了114514小时

2024/7/16 10:26
加载中...