Rezultati

Up. imeNalogaJezikRezultatČas oddaje
vlakectomaz-2018 Plezalne smeri C++ 100/100OK 13. okt '18 @ 12:05

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

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

using namespace std;


vector<string> seznam={"I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII"};

struct smer{
	string ime;
	double tezavnost;
	bool operator > (const smer & al) const {
		if(tezavnost == al.tezavnost)
			return ime>al.ime;
		else return (tezavnost > al.tezavnost);
	}
	bool operator < (const smer & al) const {
		if(tezavnost == al.tezavnost)
			return ime<al.ime;
		else return (tezavnost < al.tezavnost);
	}
	
};


double vrednost(string s){
		for (int i=0;i!=seznam.size();++i){
			string s1=seznam[i];
			string s2=s1;
			if(s==s1)
				return double(i+1);
			s1+='+';
			if(s==s1)
				return (double(i+1)+0.1);
			s2+='-';
			if(s==s2)
				return (double(i+1)-0.1);
		}
		return 0.0;
}

int main(){
	int n;
	vector<smer> v;
	cin>>n;
	for(int i=0;i!=n;++i){
		string s1,s2;
		cin>>s1>>s2;
		double t = vrednost(s2);
		smer a;
		a.ime=s1;
		a.tezavnost=t;
		v.push_back(a);
	}
	sort(v.begin(), v.end());
	for (int i=0;i!=v.size();++i){
			cout<<v[i].ime<<endl;
	}
	
	
}