专栏文章

ptyb2025 记录

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

文章操作

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

当前评论
0 条
当前快照
1 份
快照标识符
@miq6agzn
此快照首次捕获于
2025/12/03 23:39
3 个月前
此快照最后确认于
2025/12/03 23:39
3 个月前
查看原文
由于要上奥数课,所以只考了2h,哎!
T1是打磨你,八个问题,出题人是谁?这么良心。搞得我写了 208208 行。不知道别人为啥只写几十行就过了(难道我想复杂了?QAQ)但...居然过了....
CPP
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int maxn=1e6+5;
signed main(){
   // ios::sync_with_stdio(0);
	//cin.tie(0);
	//cout.tie(0);
    int n;
    cin>>n;
	string s;
	cin>>s;
	int cnt=0;
	int t=0;
	for(int i=0;i<n;i++){
		if(s[i]=='|'){
			bool flag1=false,flag2=false;
			int count=0;
			for(int j=i-1;j>=t;j--){
				if(s[j]=='2'&&count){
					flag1=true;
					break;
				}
				else if(s[j]=='2'){
					break;
				}
				else if(s[j]=='_'){
					count++;
					continue;
				}
				else{
					break;
				}
			}
			int count1=0;
			for(int j=i+1;j<n;j++){
				if(s[j]=='5'&&count1){
					flag2=true;
					break;
			    }
			    else if(s[j]=='5'){
			    	break;
				}
				else if(s[j]=='_'){
					count1++;
					continue;
				}
				else{
					break;
				}
			}
			if(flag2==false&&flag1==true&&count){
				cnt++;
				t=i;
			}
		}
	}
	
	int ans=0;
	for(int i=0;i<n;i++){
		if(s[i]=='2'){
			int len=0;
			int count=0;
			for(int j=i+1;j<n;j++){
				if(s[j]=='_'){
					count++;
					continue;
				}
				else if(s[j]=='|'&&count){
					ans++;
					len=j;
					break;
				}
				else{
					break;
				}
			}
		}
	}
	cout<<cnt<<" "<<ans<<" ";
	
	int cnt1=INT_MIN;
	int cnt2=INT_MAX;
	for(int i=0;i<n;i++){
		if(s[i]=='2'){
			int len=0;
			int count=0;
			for(int j=i+1;j<n;j++){
				if(s[j]=='_'){
					count++;
					continue;
				}
				else if(s[j]=='|'&&count){
					cnt1=max(cnt1,j-i+1);
					cnt2=min(cnt2,j-i+1);
					len=j;
					break;
				}
				else{
					break;
				}
			}
		}
	}
	if(cnt1==INT_MIN) cnt1=0;
	if(cnt2==INT_MAX) cnt2=0;
	cout<<cnt2<<" "<<cnt1<<"\n";
	
	
	
	cnt=0;
	ans=0;
	t=0;
	for(int i=0;i<n;i++){
		if(s[i]=='|'){
			bool flag1=false,flag2=false;
			int count=0;
			for(int j=i-1;j>=t;j--){
				if(s[j]=='2'&&count){
					flag1=true;
					break;
				}
				else if(s[j]=='2'){
					break;
				}
				else if(s[j]=='_'){
					count++;
					continue;
				}
				else{
					break;
				}
			}
			int count1=0;
			for(int j=i+1;j<n;j++){
				if(s[j]=='5'&&count1){
					flag2=true;
					break;
			    }
			    else if(s[j]=='5'){
			    	break;
				}
				else if(s[j]=='_'){
					count1++;
					continue;
				}
				else{
					break;
				}
			}
			if(flag1==false&&flag2==true&&count1){
				cnt++;
				t=i;
			}
		}
	}
	
	ans=0;
	for(int i=0;i<n;i++){
		if(s[i]=='|'){
			int len=0;
			int count=0;
			for(int j=i+1;j<n;j++){
				if(s[j]=='_'){
					count++;
					continue;
				}
				else if(s[j]=='5'&&count){
					ans++;
					len=j;
					break;
				}
				else{
					break;
				}
			}
		}
	}
	cout<<cnt<<" "<<ans<<" ";
	
	cnt1=INT_MIN;
	cnt2=INT_MAX;
	for(int i=0;i<n;i++){
		if(s[i]=='|'){
			int len=0;
			int count=0;
			for(int j=i+1;j<n;j++){
				if(s[j]=='_'){
					count++;
					continue;
				}
				else if(s[j]=='5'&&count){
					cnt1=max(cnt1,j-i+1);
					cnt2=min(cnt2,j-i+1);
					len=j;
					break;
				}
				else{
					break;
				}
			}
		}
	}
	if(cnt1==INT_MIN) cnt1=0;
	if(cnt2==INT_MAX) cnt2=0;
	cout<<cnt2<<" "<<cnt1<<"\n";
	return 0;
}
T2别说,会一些部分分,但没钱到手,只有 55 分,呜呜呜。
CPP
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int maxn=1e5+10;
bool vis[maxn];
signed main(){
	int n;
	cin>>n;
    if(n==1){
    	string s;
    	cin>>s;
    	bool flag=false;
    	if(s[s.size()-1]==s[s.size()-2]){
			flag=true;
		}
    	int j=9;
    	for(int i=0;i<s.size();i++){
    		for(int x=i+1;x<s.size();x++){
    			if(s[i]==s[x]){
    				s[x]=j+'0';
				} 
    	    }
    	    if(!vis[s[i]-'0']){
    		    s[i]=j+'0';
			    vis[s[i]-'0']=true;
			    j--;
			}
		}
		if(flag==true){
			s[s.size()-1]=s[s.size()-2];
		}
		cout<<s;
	}
	return 0;
}
T4由于快没时间了,只能输出 1-1 然后上课去了。本来好像有思路了。
CPP
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int maxn=1e5+10;
bool vis[maxn];
signed main(){
	int n;
	cout<<-1;
	return 0;
}

评论

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

正在加载评论...