class Solution {
public:
int getvalue(char ch) {
int val = 0;
switch (ch) {
case 'I': val = 1; break;
case 'V': val = 5; break;
case 'X': val = 10; break;
case 'L': val = 50; break;
case 'C': val = 100; break;
case 'D': val = 500; break;
case 'M': val = 1000; break;
}
return val;
}
int romanToInt(string s) {
int val = 0, pre = 0;
for (int i = 0; i < s.length(); ++i) {
int v = getvalue(s[i]);
val += v;
if (pre < v) {
val -= 2 * pre;
}
pre = v;
}
return val;
}
};