求助(违规紫衫)
  • 板块灌水区
  • 楼主Hutao__
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/4/19 16:30
  • 上次更新2024/4/19 19:32:22
查看原帖
求助(违规紫衫)
1048620
Hutao__楼主2024/4/19 16:30

为啥题解过不去

https://www.luogu.com.cn/article/uegkgu8f


markdown

~~一道大水题~~

应该是 Special Judge 的,因为在 $\text{RRRLLL}$ 的情况下可以是 1 3,也可以是 4 3。

### 思路


------------
有三种可能:`LLL`,`RRR`,`RRL`。

为什么没有 `LLR`:因为你要从最左边走到最右边,那么 $\text{R}$ 一定会被覆盖。

如果是 `LLL`:输出第一个 $\text{L}$ 和最后一个 $\text{L}$ 所在的位置。

如果是 `RRR`:输出最后一个 $\text{R}$ 和第一个 $\text{R}$ 所在的位置。

如果是 `RRL`:输出最后一个 $\text{R}$ 和第一个 $\text{R}$ 所在的位置。(当然,从最后一个 $\text{L}$ 到最后一个 $\text{R}$ 也可以)

###  代码


------------



#include<bits/stdc++.h>
using namespace std;
int n,rs,re,ls,le;//R的开始,R的结束,L的开始,L的结束
string s; 
int main(){
	cin>>n>>s;
	s=' '+s; //从第一位开始
	for(int i=1;i<=1+n;i++){
		if(s[i]=='R'){//如果是R
			re=i;//记录结尾
			if(rs==0)rs=i;//如果前面没有,就记录在开头
		}
		 if(s[i]=='L'){
			le=i;//同上
			if(ls==0)ls=i;//同上
		}
	}
	if(le==0)cout<<rs<<' '<<re;//如果只有R
	else if(re==0)cout<<le<<' '<<ls;//如果只有L
	else cout<<rs<<' '<<re;
	return 0;//完美收工~
}

反馈:

原因是 数学公式中的文本应使用 \text,字符串应使用 \texttt

2024/4/19 16:30
加载中...