0pts,恳求帮忙
查看原帖
0pts,恳求帮忙
1151818
xxJoy0420楼主2024/9/20 12:54

如题。

#define ll long long 
#include<bits/stdc++.h>
using namespace std;
struct node{
	string name;
	ll score; 
}a[100005];
string nam;
ll 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"<<endl;
}
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"<<endl;
	}
	else
	cout<<"Not found"<<endl;
}
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"<<endl;
			f=0;break;
		}
		if(f) cout<<"Not found"<<endl;
	}
	else if(tail==head)
	if(a[head].name==na)
	{
		head++;
		cout<<"Deleted successfully"<<endl;
	}
	else
	cout<<"Not found"<<endl;
}
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;
}
2024/9/20 12:54
加载中...