奇怪输出求助
查看原帖
奇怪输出求助
797229
inarticulate_stupid楼主2023/10/2 20:17

代码是这样的

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,flag,bd;
string t[100005],s[100005],bs[100005],us;
const string mb1=" started playing games!",mb2=" stopped playing games!",mb3=" came!",mb4=" left!";
map<string,bool>st;
map<string,bool>bst;
map<string,bool>lo;
signed main(){
	cin>>n;
	for(int i=1;i<=3;i++)
		cin>>t[i],lo[t[i]]=true;
	for(int i=1;i<=5;i++)
		cin>>s[i],lo[s[i]]=true;
	for(int i=1;i<=n;i++)
	{
		cin>>us;
		cout<<"oier\n";//调试程序,每输入一次输出一次
		ll k=0;
		string ls,stu;
		for(int j=0;j<us.size();j++)
			if(us[j]==' '){k=j;break;}
		if(k!=0)ls=us.substr(0,k);
		else continue;
		if(lo[ls]==false)continue;
		stu=us.substr(k,us.size()-1);
		if(stu==mb1)st[ls]=true;
		else if(stu==mb2)st[ls]=false;
		else if(stu==mb3)flag=1;
		else if(stu==mb4)flag=0;
		else continue;
		if(flag==1)
		{
			map<string,bool>::iterator it;
			for(it=st.begin();it!=st.end();it++)
				if(it->second==true)bd++,bs[bd]=it->first;		
		}
	}
	sort(bs+1,bs+bd+1);
	for(int i=1;i<=bd;i++)
		cout<<s[i]<<' ';
	if(bd==5)cout<<"\nHow Bad Oiers Are!";
	if(bd==0)cout<<"How Good Oiers Are!";
	return 0;
}

结果输出是:

10
A B C
a b c d e
A came!
oier
oier
a started playing games!
oier
oier
oier
oier
b started playing games!
oier
oier
oier
oier
How Good Oiers Are!

求大佬帮忙解答一下为什么会这样???

2023/10/2 20:17
加载中...