社区讨论

0pts,帮一下忙吧!

P5266【深基17.例6】学籍管理参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@lynsnc2b
此快照首次捕获于
2024/07/16 10:28
2 年前
此快照最后确认于
2024/07/16 11:28
2 年前
查看原帖
CPP
#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小时

回复

0 条回复,欢迎继续交流。

正在加载回复...