QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#605794 | #9288. Roman Palindromes | lym# | WA | 4ms | 8360kb | C++20 | 2.4kb | 2024-10-02 19:39:00 | 2024-10-02 19:39:00 |
Judging History
answer
#include<bits/stdc++.h>
using i64 = long long;
void solve() {
int n;
std::cin >> n;
std::string s;
std::cin >> s;
std::vector<std::string > ans;
int num = 0;
std::vector<int> vis(n + 1);
for (int i = 0; i + 2 < n; i ++) {
if (s[i] == 'M' && s[i + 1] == 'C' && s[i + 2] == 'M') {
for (int j = i; j < i + 3; j ++) {
vis[i] = 1;
}
i += 2;
continue;
}
if (s[i] == 'C' && s[i + 1] == 'X' && s[i + 2] == 'C') {
for (int j = i; j < i + 3; j ++) {
vis[i] = 1;
}
i += 2;
continue;
}
if (s[i] == 'X' && s[i + 1] == 'I' && s[i + 2] == 'X') {
for (int j = i; j < i + 3; j ++) {
vis[i] = 1;
}
i += 2;
continue;
}
}
for (int i = 0; i < n; i ++) {
if (i + 2 < n) {
if (s[i] == 'M' && s[i + 1] == 'C' && s[i + 2] == 'M') {
ans.push_back("MCM");
i += 2;
continue;
}
if (s[i] == 'C' && s[i + 1] == 'X' && s[i + 2] == 'C') {
ans.push_back("CXC");
i += 2;
continue;
}
if (s[i] == 'X' && s[i + 1] == 'I' && s[i + 2] == 'X') {
ans.push_back("XIX");
i += 2;
continue;
}
}
if (s[i] == 'M') {
int j = i;
std::string t = "";
while (j < n && ! vis[j] && j - i < 3 && s[j] == 'M') {
t += 'M';
j ++;
}
i = j - 1;
ans.push_back(t);
} else if (s[i] == 'C') {
int j = i;
std::string t = "";
while (j < n && ! vis[j] && j - i < 3 && s[j] == 'C') {
t += 'C';
j ++;
}
i = j - 1;
ans.push_back(t);
} else if (s[i] == 'D') {
ans.push_back("D");
} else if (s[i] == 'X') {
int j = i;
std::string t = "";
while (j < n && ! vis[j] && j - i < 3 && s[j] == 'X') {
t += 'X';
j ++;
}
i = j - 1;
ans.push_back(t);
} else if (s[i] == 'L') {
ans.push_back("L");
} else if (s[i] == 'I') {
int j = i;
std::string t = "";
while (j < n && ! vis[j] && j - i < 3 && s[j] == 'I') {
t += 'I';
j ++;
}
i = j - 1;
ans.push_back(t);
} else if (s[i] == 'V') {
ans.push_back("V");
}
}
std::cout << ans.size() << '\n';
for (auto it : ans) {
std::cout << it << '\n';
}
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int t = 1;
//std::cin >> t;
while (t --) {
solve();
}
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3652kb
input:
5 MMXXI
output:
3 MM XX I
result:
ok OK!
Test #2:
score: 0
Accepted
time: 0ms
memory: 3644kb
input:
1 I
output:
1 I
result:
ok OK!
Test #3:
score: 0
Accepted
time: 0ms
memory: 3872kb
input:
1 V
output:
1 V
result:
ok OK!
Test #4:
score: 0
Accepted
time: 0ms
memory: 3580kb
input:
1 X
output:
1 X
result:
ok OK!
Test #5:
score: 0
Accepted
time: 0ms
memory: 3616kb
input:
1 L
output:
1 L
result:
ok OK!
Test #6:
score: 0
Accepted
time: 0ms
memory: 3680kb
input:
1 C
output:
1 C
result:
ok OK!
Test #7:
score: 0
Accepted
time: 0ms
memory: 3584kb
input:
1 D
output:
1 D
result:
ok OK!
Test #8:
score: 0
Accepted
time: 0ms
memory: 3876kb
input:
1 M
output:
1 M
result:
ok OK!
Test #9:
score: 0
Accepted
time: 0ms
memory: 3580kb
input:
2 XX
output:
1 XX
result:
ok OK!
Test #10:
score: 0
Accepted
time: 0ms
memory: 3652kb
input:
2 LL
output:
2 L L
result:
ok OK!
Test #11:
score: 0
Accepted
time: 0ms
memory: 3524kb
input:
3 XXX
output:
1 XXX
result:
ok OK!
Test #12:
score: 0
Accepted
time: 0ms
memory: 3680kb
input:
3 VVV
output:
3 V V V
result:
ok OK!
Test #13:
score: 0
Accepted
time: 0ms
memory: 3592kb
input:
4 MMMM
output:
2 MMM M
result:
ok OK!
Test #14:
score: 0
Accepted
time: 0ms
memory: 3812kb
input:
4 DDDD
output:
4 D D D D
result:
ok OK!
Test #15:
score: 0
Accepted
time: 0ms
memory: 3640kb
input:
5 CCCCC
output:
2 CCC CC
result:
ok OK!
Test #16:
score: 0
Accepted
time: 0ms
memory: 3640kb
input:
5 DDDDD
output:
5 D D D D D
result:
ok OK!
Test #17:
score: 0
Accepted
time: 0ms
memory: 3636kb
input:
6 IIIIII
output:
2 III III
result:
ok OK!
Test #18:
score: 0
Accepted
time: 0ms
memory: 3648kb
input:
6 VVVVVV
output:
6 V V V V V V
result:
ok OK!
Test #19:
score: 0
Accepted
time: 0ms
memory: 3584kb
input:
3 XIX
output:
1 XIX
result:
ok OK!
Test #20:
score: 0
Accepted
time: 0ms
memory: 3680kb
input:
5 XIXIX
output:
3 XIX I X
result:
ok OK!
Test #21:
score: 0
Accepted
time: 3ms
memory: 5980kb
input:
99999 MCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMC...
output:
49999 MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C ...
result:
ok OK!
Test #22:
score: 0
Accepted
time: 4ms
memory: 6024kb
input:
100000 LMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMC...
output:
50000 L MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM C MCM ...
result:
ok OK!
Test #23:
score: 0
Accepted
time: 3ms
memory: 5808kb
input:
100000 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...
output:
33334 III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III II...
result:
ok OK!
Test #24:
score: 0
Accepted
time: 2ms
memory: 8360kb
input:
100000 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD...
output:
100000 D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D...
result:
ok OK!
Test #25:
score: 0
Accepted
time: 3ms
memory: 5800kb
input:
99999 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
output:
33333 CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CC...
result:
ok OK!
Test #26:
score: 0
Accepted
time: 3ms
memory: 5848kb
input:
99998 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...
output:
33333 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XX...
result:
ok OK!
Test #27:
score: 0
Accepted
time: 3ms
memory: 5860kb
input:
99997 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
output:
33333 CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC CC...
result:
ok OK!
Test #28:
score: 0
Accepted
time: 2ms
memory: 4568kb
input:
58475 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...
output:
19492 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XX...
result:
ok OK!
Test #29:
score: 0
Accepted
time: 1ms
memory: 3756kb
input:
6696 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD...
output:
6696 D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D...
result:
ok OK!
Test #30:
score: 0
Accepted
time: 0ms
memory: 3876kb
input:
15 LLMXILIDXXXIXXD
output:
12 L L M X I L I D XX XIX X D
result:
ok OK!
Test #31:
score: 0
Accepted
time: 0ms
memory: 3880kb
input:
15 VVIIDILXXIXXXCI
output:
11 V V II D I L X XIX XX C I
result:
ok OK!
Test #32:
score: 0
Accepted
time: 0ms
memory: 3580kb
input:
15 LMMCMMMMXLCLCCC
output:
9 L M MCM MMM X L C L CCC
result:
ok OK!
Test #33:
score: 0
Accepted
time: 0ms
memory: 3680kb
input:
15 CCCXCCDLDDMVCXI
output:
12 CC CXC C D L D D M V C X I
result:
ok OK!
Test #34:
score: 0
Accepted
time: 0ms
memory: 3620kb
input:
15 XXXIXXXVVLDXLXL
output:
11 XX XIX XX V V L D X L X L
result:
ok OK!
Test #35:
score: 0
Accepted
time: 0ms
memory: 3680kb
input:
15 IMICVDCXXXIXXXX
output:
10 I M I C V D C XX XIX XXX
result:
ok OK!
Test #36:
score: 0
Accepted
time: 0ms
memory: 3756kb
input:
15 CIMMXMCVMMMMCMM
output:
10 C I MM X M C V MMM MCM M
result:
ok OK!
Test #37:
score: 0
Accepted
time: 0ms
memory: 3808kb
input:
15 VDCCCCXCCCCLDVM
output:
9 V D CCC CXC CCC L D V M
result:
ok OK!
Test #38:
score: 0
Accepted
time: 1ms
memory: 3640kb
input:
15 CCCCXCCCCIDCDVX
output:
9 CCC CXC CCC I D C D V X
result:
ok OK!
Test #39:
score: 0
Accepted
time: 0ms
memory: 3584kb
input:
15 DXVCCCXCXCCLDDX
output:
11 D X V CC CXC X CC L D D X
result:
ok OK!
Test #40:
score: 0
Accepted
time: 0ms
memory: 3588kb
input:
15 LIIMXXIXIXXXCLX
output:
10 L II M X XIX I XXX C L X
result:
ok OK!
Test #41:
score: -100
Wrong Answer
time: 0ms
memory: 3588kb
input:
15 CDLXVMMCMCMMMMD
output:
11 C D L X V M MCM C MMM M D
result:
wrong answer Jury is better: 10 vs 11