专栏文章
题解:P13915 [PO Final 2024] 鬼抓人 / Tag
P13915题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mio1eke6
- 此快照首次捕获于
- 2025/12/02 11:47 3 个月前
- 此快照最后确认于
- 2025/12/02 11:47 3 个月前
用一个
map 映射来维护每个人是否知道自己是猎人,无论他是不是被作弊者抓到的。用 数组记录所有作弊者。
先输入。
然后把游戏开始时指定的猎人在映射中标记上。
每输入一个碰人事件:
- 判断这个人是否在数组中被标记,如果没有,把这个名字加入到 里。
- 如果有,解除这个标记,因为他已经把猎人的身份传递出去了。
- 不管是不是,最后都要把被碰的那个人标记上,他是不知情的。
然后把 数组排序,去重,输出。
code
CPP#include <bits/stdc++.h>
using namespace std;
map<string,bool> a;
string name[100010];
string ans[100010];
int main(){
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++){
cin>>name[i];
}
a[name[0]]=1;
int sum=0;
for(int i=0;i<m;i++){
string s1,s2,s3;
cin>>s1>>s2>>s3;
if(a[s1]==0){
ans[sum++]=s1;
}
else{
a[s1]=0;
}
a[s3]=1;
}
sort(ans,ans+sum);
sum=unique(ans,ans+sum)-ans;
cout<<sum<<endl;
for(int i=0;i<sum;i++){
cout<<ans[i]<<" ";
}
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...