社区讨论
有没有大犇看看问题在哪,只过了1、5两个数据
P5734【深基6.例6】文字处理软件参与者 3已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @mhj3pav6
- 此快照首次捕获于
- 2025/11/03 20:13 4 个月前
- 此快照最后确认于
- 2025/11/03 20:13 4 个月前
CPP
#include <iostream>
#include <string>
using namespace std;
int q, n, a, b;
string str, s;
bool n4(string str, string s) {
for(int i = 0; i < str.length(); i++) {
for(int j = 0; j <= s.length(); j++) {
if(str[i + j] != s[j]) {
break;
}
return true;
}
}
return false;
}
int main() {
cin >> q >> str;
for(int i = 1; i <= q; i++) {
cin >> n;
if(n == 1) {
cin >> s;
for(int i = str.length(); i < str.length() + s.length(); i++) {
str[i] = s[i - str.length()];
}
for(int i = 0; i < str.length() + s.length(); i++) {
cout << str[i];
}
cout << endl;
}
if(n == 2) {
cin >> a >> b;
for(int j = a; j < a + b; j++) {
s[j - a] = str[j];
}
str = s;
for(int i = 0; i < b; i++) {
cout << str[i];
}
cout << endl;
}
if(n == 3) {
cin >> a >> s;
string ss;
for(int i = a; i < str.length(); i++) {
ss[i - a] = str[i];
}
for(int i = a; i < a + s.length(); i++) {
str[i] = s[i - a];
}
for(int i = a + s.length(); i < str.length() + s.length(); i++) {
str[i] = ss[i - a - s.length()];
}
for(int i = 0; i < str.length() + s.length(); i++) {
cout << str[i];
}
cout << endl;
}
if(n == 4) {
cin >> s;
if(!n4(str, s)) {
cout << -1 << endl;
}
else{
bool flag = 1;
for(int i = 0; i < str.length() && flag; i++) {
for(int j = 0; j <= s.length() && flag; j++) {
if(str[i + j] != s[j]) {
break;
}
cout << i << endl;
flag = 0;
}
}
}
}
}
return 0;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...