×
解除綁定,重新設定系統帳號的密碼
您的系統帳號 ID:
您的系統帳號:
您的帳號暱稱:
設定新密碼:
設定新密碼:
×
請輸入要加入的「課程代碼」
請向開設課程的使用者索取「課程代碼」
分類題庫
解題動態
排行榜
討論區
競賽區
登入
註冊
發表新討論
#24680: 我自己測都過,但line7不過QQ請各位大佬幫忙
pingw220@gmail.com
(Peter Wang)
學校 : 國立科學工業園區實驗高級中學
編號 : 99007
×
傳送站內訊息
傳給:
主題:
內容:
來源 : [111.243.136.9]
最後登入時間 :
2022-06-02 22:42:20
a013.
羅馬數字
--
NPSC 模擬試題
| From: [103.125.235.22] | 發表日期 : 2021-03-14 11:42
#include
<
iostream
>
#include
<
map
>
#include
<
cmath
>
using
namespace
std
;
map
<
char
,
int
>
mp
;
int
main
()
{
string str1
,
str2
;
while
(
cin
>>
str1
>>
str2
){
if
(
str1
==
"#"
){
return
0
;
}
mp
[
'I'
]=
1
;
mp
[
'V'
]=
5
;
mp
[
'X'
]=
10
;
mp
[
'L'
]=
50
;
mp
[
'C'
]=
100
;
mp
[
'D'
]=
500
;
mp
[
'M'
]=
1000
;
int
len1
=
str1
.
length
();
int
len2
=
str2
.
length
();
int
num1
=
0
,
num2
=
0
;
for
(
int
i
=
0
;
i
<
len1
;
i
++){
num1
+=
mp
[
str1
[
i
]];
}
for
(
int
i
=
0
;
i
<
len2
;
i
++){
num2
+=
mp
[
str2
[
i
]];
}
int
ans
=
abs
(
num1
-
num2
);
if
(
ans
==
0
){
cout
<<
"ZERO"
<<
endl
;
}
string an
=
"MDCLXVI"
;
int
co
[
7
]={
0
};
for
(
int
i
=
0
;
i
<
7
;
i
++){
while
(
ans
>=
mp
[
an
[
i
]]){
ans
-=
mp
[
an
[
i
]];
co
[
i
]++;
}
}
for
(
int
j
=
0
;
j
<
co
[
0
];
j
++){
cout
<<
an
[
0
];
}
for
(
int
i
=
2
;
i
<
7
;
i
+=
2
){
if
(
co
[
i
]==
4
&&
co
[
i
-
1
]==
1
){
cout
<<
an
[
i
]<<
an
[
i
-
2
];
}
else
if
(
co
[
i
]==
4
){
cout
<<
an
[
i
]<<
an
[
i
-
1
];
}
else
{
//cout<<an[i-1];
//cout<<co[i-1]<<endl;
for
(
int
j
=
0
;
j
<
co
[
i
-
1
];
j
++){
cout
<<
an
[
i
-
1
];
}
for
(
int
j
=
0
;
j
<
co
[
i
];
j
++){
cout
<<
an
[
i
];
}
}
}
cout
<<
endl
;
}
return
0
;
}
ZeroJudge Forum