#include #include #include #include #include #include using namespace std; int t, l, x, y, n; string ts; map > teed; vector teekond; map, int> > finisist; int teekonna_aeg, parim_punktisumma; int teekond_leia_aeg(){ int aeg=0; for(int i=1; i erinevadkohad(teekond.begin(), teekond.end()); int summa=0; for(string kohanimi: erinevadkohad){ summa+=koha_punktid(kohanimi); } return summa; } int koha_punktid(string nimetus){ if(nimetus=="S"){return 0;} if(nimetus=="F"){return 0;} if(nimetus=="H"){return 0;} return atoi(nimetus.c_str())/100; } void kuva_teekond(){ for(int i=0; i >::iterator it= teed.find(uuritav); if(it!=teed.end() && teekonna_aeg::iterator it2=teed[uuritav].begin(); it2!=teed[uuritav].end(); it2++){ teekond.push_back(it2->first); teekonna_aeg+=it2->second; auto otsing=finisist.find(it2->first); if(otsing==finisist.end() || teekond_leia_punktid()> finisist[otsing->first].second){ // cout << otsing -> first << endl; /* finisist[otsing->first]= pair, int>( teekond, teekond_leia_punktid()); cout << otsing->first << " " << finisist[otsing->first].second << endl;*/ } if(it2->first=="S"){ if(teekond_leia_punktid()>parim_punktisumma){ kuva_teekond(); parim_punktisumma=teekond_leia_punktid(); } } leia(); teekonna_aeg-=it2->second; teekond.pop_back(); } } } int main(void){ cin >> ts >> l >> x >> y >> n; t=sek(ts); cout << "kontrollaeg " << t << endl; string kust, kuhu; for(int i=0; i> kust >> kuhu >> ts; teed[kuhu][kust]=sek(ts); } for(auto it=teed.begin(); it!=teed.end(); it++){ cout << it->first << " "; } cout << endl; teekond.push_back("F"); teekonna_aeg=0; parim_punktisumma=0; leia(); } //g++ -std=c++11 rogain4.cpp