你说的对,但是
  • 板块灌水区
  • 楼主hexuchen
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/8/20 09:52
  • 上次更新2024/8/20 11:40:32
查看原帖
你说的对,但是
945742
hexuchen楼主2024/8/20 09:52

我的代码为什么 RE 了?

题目

记录

马蜂比较清晰,各个函数的名字生动形象:)

顺便造福后人,如果想要删除 \r,可以使用

s.erase(remove(s.begin(),s.end(),char(13)),s.end());
#include <bits/stdc++.h>
using namespace std;
string s,bomb_man;
int queue_long=1;
string find_at_name(string a){
	int b=a.find('@')+11;
	string ans="";
	for(int i=b;i<int(a.size());i++){
		if(a[i]==' '){
			break;
		}
		ans+=a[i];
	}
	return ans;
}
string find_sent_name(string a){
	return a.substr(10,a.find(':')-11);
}
void Wrong_Queue(){
	cout<<"Unsuccessful @yyy loves "<<bomb_man<<" attempt\n";
	cout<<queue_long<<'\n';
	cout<<"yyy loves "<<find_sent_name(s);
	exit(0);
	return ;
}
int main(){
	getline(cin,s);
	s.erase(remove(s.begin(),s.end(),char(13)),s.end());
	bomb_man=find_at_name(s);
	while(getline(cin,s)){
		s.erase(remove(s.begin(),s.end(),char(13)),s.end());
		queue_long++;
		if(find_sent_name(s)==bomb_man){
			cout<<"Successful @yyy loves "<<bomb_man<<" attempt";
			return 0;
		}
		int tot=0;
		for(int i=0;i<int(s.size());i++){
			if(s[i]=='@'){
				tot++;
			}
		}
		if(tot==0 || tot>1){
			Wrong_Queue();
		}
		if(find_at_name(s)!=bomb_man){
			Wrong_Queue();
		}
	}
	cout<<"Unsuccessful @yyy loves "<<bomb_man<<" attempt\n";
	cout<<queue_long<<'\n';
	cout<<"Good Queue Shape";
	return 0;
}
2024/8/20 09:52
加载中...