社区讨论
样例/自测可过,交上去全WA 悬赏关注
P8824[传智杯 #3 初赛] 终端参与者 1已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lo38k1ms
- 此快照首次捕获于
- 2023/10/24 02:33 2 年前
- 此快照最后确认于
- 2023/10/24 02:33 2 年前
CPP
#include <bits/stdc++.h>
using namespace std;
struct node{
string name;
int num;
}s[1010];
string x;
string nm;
string last,now;
inline int cmp(const node &a,const node &b){
return a.num<b.num;
}
inline int find_a(string a,int k){
if (k==0)
return 0;
for(int i=1;i<=k;i++)
if (s[i].name==a)
return i;
return 0;
}
inline void rename(string a,string b,int k){
if (k==0)
return;
if (find_a(a,k)==0)
return;
s[find_a(a,k)].name=b;
return;
}
inline void rm(string a,int k){
if (k==0)
return;
if (find_a(a,k)==0)
return;
s[find_a(a,k)].name="\0";
return;
}
inline void ls(int k){
if (k==0)
return;
sort(s+1,s+1+k,cmp);
for(int i=1;i<=k;i++)
if (s[i].name!="\0")
cout<<s[i].name<<endl;
return;
}
signed main(){
int n,cnt=0;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
cin>>x;
if (x=="touch")
cin>>s[++cnt].name;
if (x=="rm")
cin>>nm,rm(nm,cnt);
if (x=="ls")
ls(cnt);
if (x=="rename")
cin>>last>>now,rename(last,now,cnt);
}
return 0;
}
=
回复
共 1 条回复,欢迎继续交流。
正在加载回复...