50求助,必关
查看原帖
50求助,必关
1339410
yxj725楼主2025/1/27 15:46
#include<bits/stdc++.h>
using namespace std;
//题目:B3703 [语言月赛202301] 新年快乐
//用到知识点:字符串 
//时间复杂度:O(n)
struct node {
	int l,r;
};
node a[250];
string s;
int q;
int main (){
	cin>>s;
	cin>>q;
	for (int i=1;i<=q;i++) {
		cin>>a[i].l>>a[i].r;
	}
	int k=1;
	while (q--) {
		int cnt=0;
		int len=a[k].r-a[k].l+1;
		string p;
		int cntlen=0;
		for (int i=a[k].l-1;i<a[k].r;i++) {
			if (s[i]=='a') {
				cnt++;
			}
			p[cntlen]=s[i];	
			cntlen++;
	    }
		if (cnt==len) {
			cout<<"NULL"<<endl<<"Happy Chinese New Year!"<<endl;
		} 
		else {
			for (int i=cntlen-1;i>=0;i--) {
			    if (p[i]=='a') {
				    p[i]='z';
		        } else {
				    p[i]-=1;
				    break;
			    }
		    }
		    for (int i=0;i<cntlen;i++) {
			    cout<<p[i];
		    }
		    cout<<endl;
		    if (s.find(p)!=-1) {
			    cout<<"Happy New Year!"<<endl;
		    } else {
			    cout<<"Happy Chinese New Year!"<<endl;
		    }
		    k++;
	    }
	}
return 0;
}

2025/1/27 15:46
加载中...