Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>#include<cmath>#include<vector>#include<map>#include<string>#include<algorithm>using namespace std;void init(map<char, int>& aux) {aux['I'] = 1;aux['V'] = 5;aux['X'] = 10;aux['L'] = 50;aux['C'] = 100;aux['D'] = 500;aux['M'] = 1000;}int romanToInt(string s) {map<char, int> aux;init(aux);int len = s.size();int sum = 0;for (int i = 0; i < len; ++i) {if (i<len - 1 && aux[s[i + 1]]>aux[s[i]]) {sum += aux[s[i + 1]] - aux[s[i]];++i;}elsesum += aux[s[i]];}