专栏文章

寒假训练1

个人记录参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miqgvzht
此快照首次捕获于
2025/12/04 04:36
3 个月前
此快照最后确认于
2025/12/04 04:36
3 个月前
查看原文
T1
洛谷同题
根据题意模拟即可,处理好字符串边界。
Code:
CPP
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int n;
string s;
int main(){
	cin>>n>>s;
	if(n%2==0) cout<<"No";
	else{
		bool f=1;
		for(int i=0;i<=(n+1)/2-2;i++){
			if(s[i]!='1') f=0;
		}
		if(s[(n+1)/2-1]!='/') f=0;
		for(int i=(n+1)/2;i<=n-1;i++){
			if(s[i]!='2') f=0;
		}
		if(f) cout<<"Yes";
		else cout<<"No";
	} 
	return 0;
}
T2
洛谷同题
一样根据题意模拟即可,处理好字符串边界。
Code:
CPP
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
string s;
bool f=1;
int t[26],len;
int main(){
	cin>>s;
	len=s.length();
	s=" "+s;
	if(len%2==1) f=0;
	for(int i=1;i<=len;i++){
		t[s[i]-'a']++;
		if(i<=len/2){
			if(s[2*i-1]!=s[2*i]) f=0;
		}
	}
	for(int i=0;i<26;i++){
		if(t[i]!=0 && t[i]!=2) f=0;
	}
	if(f) cout<<"Yes";
	else cout<<"No";
	return 0;
}
T3
洛谷同题
以/为起始点,开始向外扩展,扩展到不能扩展时记录下字符串长度,再对比。复杂度为O(n)O(n),可以通过本题。
Code:
CPP
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int n,ans;
string s;
int main(){
	cin>>n>>s;
	for(int i=0;i<n;i++){
		if(s[i]=='/'){
			int l=i,r=i;
			while(l>=0 && r<n){
				bool f=1;
				if(l-1>=0 && r+1<n && s[l-1]=='1' && s[r+1]=='2'){
					l--;
					r++;
					f=0;
				}
				if(f) break;
			}
			ans=max(ans,r-l+1);
		}
	}
	cout<<ans;
	return 0;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...