QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#605794#9288. Roman Palindromeslym#WA 4ms8360kbC++202.4kb2024-10-02 19:39:002024-10-02 19:39:00

Judging History

This is the latest submission verdict.

  • [2024-10-02 19:39:00]
  • Judged
  • Verdict: WA
  • Time: 4ms
  • Memory: 8360kb
  • [2024-10-02 19:39:00]
  • Submitted

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