[Offer收割]编程练习赛25 register

Ended

Participants:399

Verdict:Accepted
Score:100 / 100
Submitted:2017-09-03 12:15:36

Lang:G++

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>
#include <string.h>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int N;
const int MAXN = 5000;
int getVal(string s) {
    int mp[256];
    mp['I'] = 1;
    mp['V'] = 5;
    mp['X'] = 10;
    mp['L'] = 50;
    mp['C'] = 100;
    mp['D'] = 500;
    mp['M'] = 1000;
    int res = 0;
    for(int i = 0; i < s.length(); i++) {
        if(i + 1 >= s.length() || mp[s[i + 1]] <= mp[s[i]])
            res += mp[s[i]];
        else
            res -= mp[s[i]];
    }
    return res;
}
struct peName {
    string name;
    string lm;
    peName(string name, string lm) : name(name), lm(lm) {}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX