Rezultati

Up. imeNalogaJezikRezultatČas oddaje
ayy-2018 Plezalne smeri C++ 100/100OK 13. okt '18 @ 11:06

Test Točke Porabljen spomin Porabljen čas Status
#1 50/50 3,211 MiB 0,001 s OK
#2 50/50 3,211 MiB 0,000 s OK

Ocenjevani program (main.cpp):
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

struct stena {
    string ime;
    int stopnja;
};

bool comparator(const stena& s1, const stena& s2) {
    if (s1.stopnja == s2.stopnja)
        return s1.ime < s2.ime;

    return s1.stopnja < s2.stopnja;
}

int main() {
    vector<string> rimske = {
        "I-", "I", "I+",
        "II-", "II", "II+",
        "III-", "III", "III+",
        "IV-", "IV", "IV+",
        "V-", "V", "V+",
        "VI-", "VI", "VI+",
        "VII-", "VII", "VII+",
        "VIII-", "VIII", "VIII+",
        "IX-", "IX", "IX+",
        "X-", "X", "X+",
        "XI-", "XI", "XI+",
        "XII-", "XII", "XII+",
    };

    string ime, stopnja;
    int n;
    cin >> n;

    vector<stena> stene;

    while (n--) {
        cin >> ime >> stopnja;

        int i;
        for (i = 0; i < rimske.size(); i++) {
            if (rimske[i] == stopnja)
                break;
        }

        stena s;
        s.ime = ime;
        s.stopnja = i;
        stene.push_back(s);
    }

    sort(stene.begin(), stene.end(), comparator);

    for (int i = 0; i < stene.size(); i++) {
        cout << stene[i].ime << endl;
    }


    return 0;
}