Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int f(char c) {
- // if (c == 'M')
- // return 1000;
- // else if (c == 'D')
- // return 500;
- // else if (c == 'C')
- // return 100;
- // else if (c == 'L')
- // return 50;
- // else if (c == 'X')
- // return 10;
- // else if (c == 'V')
- // return 5;
- // else if (c == 'I')
- // return 1;
- // else {
- // cout << "Error: unknown symbol " << c << "!\n";
- // exit(1);
- // }
- //}
- //int main() {
- // string str;
- // cin >> str;
- // int a = f(str[str.size() - 1]);
- // int ans = a;
- // int b = 0;
- // int c = a; //маскимальный разряд, который мы обработали(обработка строки справа налево)
- // int j = 0; //сколько раз вподряд мы обработали разряд меньше максимального
- // for (int i = str.size() - 2; i >= 0; i--) {
- // b = f(str[i]);
- // //проверка на то, что мы не написали меньший разряд слева от большего(для случаев DM, LC, VX - так нельзя)
- // if ((b == 500 && a == 1000) || (b == 50 && a == 100) || (b == 5 && a == 10)) { // b - левее а
- // cout << "Error!\n";
- // exit(1);
- // }
- // //проверка на то, что мы не написали два меньших разряда вподряд слева от большего (IIX - две единицы слева от 10)
- // if (b > c) {
- // j = 0;
- // c = b;
- // } else if (b < c) {
- // ++j;
- // if (j == 2) {
- // cout << "Error!\n";
- // exit(1);
- // }
- // } else { // b == c
- // j = 0;
- // }
- // //конец проверки
- // if (b >= a)
- // ans += b;
- // else
- // ans -= b;
- // a = b;
- // }
- // cout << ans;
- // return 0;
- //}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement