MARCOncatenation|字符串
2024-10-09 21:42:53
发布于:美国
19阅读
0回复
0点赞
T2 - MARCOncatenatation
题目链接跳转:点击跳转
根据题目模拟就可以了,没有什么难度。
代码实现
本题的 C++ 代码如下:
#include <iostream>
#include <string>
using namespace std;
string marco = "marco";
string capmarco = "MARCO";
string solve(string S) {
int i = 0;
int max = 0;
for (int i = 1; i <= min(5, int(S.size())); ++i) {
if (marco.substr(5 - i, i) == S.substr(0, i)) {
max = i;
}
}
if (max == 0) {
return S;
} else {
return capmarco + S.substr(max, int(S.size()) - max);
}
}
int main() {
int T;
cin >> T;
for (int i = 0; i < T; i++) {
string S;
cin >> S;
cout << solve(S) << '\n';
}
return 0;
}
本题的 Python 代码如下:
def solve(S: str) -> str:
marco = "MARCO"
marco_lower = "marco"
matching_count = 0
for i in range(7):
if S[0:i] == marco_lower[5 - i:]:
matching_count = i
return marco + S[matching_count:] if matching_count != 0 else S
def main():
T = int(input())
for _ in range(T):
S = input()
print(solve(S))
if __name__ == '__main__':
main()
这里空空如也
有帮助,赞一个