社区讨论
求助「chaynOI-R2」T1
学术版参与者 3已保存回复 6
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 6 条
- 当前快照
- 1 份
- 快照标识符
- @mlgxs4am
- 此快照首次捕获于
- 2026/02/11 02:30 上周
- 此快照最后确认于
- 2026/02/11 02:30 上周
为啥没上主题库喵
我的做法是先构造一个
代码:
CPPabababa... 串,让这个串与给出的串长度相等,然后再从后往前调整这个串,结果除了 sub3 以外 MLE 了,是这个做法有什么错误还是被 hack 掉了呢?代码:
#include<bits/stdc++.h>
using namespace std;
inline int read(){
int x=0,f=1;
char c=getchar();
while(c<'0' || c>'9'){
if(c=='-')
f=-1;
c=getchar();
}
while(c>='0' && c<='9'){
x=x*10+c-'0';
c=getchar();
}
return x*f;
}
string t;
vector<pair<int,int>> ans;
vector<char> s;
int main(){
cin>>t;
int n=t.size();
s.push_back('a');
s.push_back('b');
ans.push_back({1,'a'});
ans.push_back({1,'b'});
for(int i=2;i<n;i++){
ans.push_back({1,'c'});
if(s[i-1]=='a') s.push_back('b');
else s.push_back('a');
ans.push_back({2,i+1});
}
for(int i=n-1;i>=2;i--){
while(s[i]!=t[i]){
if(s[i-1]==t[i]){
s[i-1]='a'+'b'+'c'-s[i-2]-s[i-1];
ans.push_back({2,i});
}
else{
s[i]='a'+'b'+'c'-s[i]-s[i-1];
ans.push_back({2,i+1});
}
}
}
printf("%d\n",ans.size());
for(int i=0;i<ans.size();i++){
if(ans[i].first==1) printf("%d %c\n",ans[i].first,(char)ans[i].second);
else printf("%d %d\n",ans[i].first,ans[i].second);
}
return 0;
}
回复
共 6 条回复,欢迎继续交流。
正在加载回复...