Index: SRM/556-U/1A.cpp ================================================================== --- SRM/556-U/1A.cpp +++ SRM/556-U/1A.cpp @@ -17,70 +17,32 @@ using namespace std; typedef long long LL; typedef long double LD; typedef complex CMP; -class LeftRightDigitsGame2 { public: - string minNumber(string digits, string lowerBound) +class XorTravelingSalesman { public: + int maxProfit(vector cityValues, vector roads) { - return rec(digits, lowerBound); + vector< vector > vis(cityValues.size(), vector(1024, false)); + rec(0, cityValues[0], cityValues, roads, vis); + int best = 0; + for(int p=0; p memo; - string rec(const string& digits, const string& lwb) + void rec(int p, int value, const vector & cityValues, const vector & roads, + vector< vector >& vis) { - if(lwb.size() == 0) - return lwb; - if(memo.count(lwb)) - return memo[lwb]; - - string best = (digits.substr(0,lwb.size())>=lwb ? digits.substr(0,lwb.size()) : ""); - string minSoFar = string(1, digits[0]); - for(int t=1; t tail); - if(!needOneMore || incr(target)) { - string m = minNumber(digits, target); - if( m.size() == target.size() ) { - string cand = digits[t] + m + tail; - if( lwb<=cand && (best.empty() || best > cand) ) - best = cand; - } - } - } - else - { - string cand = digits[t] + minSoFar + digits.substr(t+1, lwb.size()-(t+1)); - if( best.empty() || best > cand ) - best = cand; - } - - minSoFar = min(minSoFar+digits[t], digits[t]+minSoFar); - } - return memo[lwb] = best; - } - - bool incr(string& s) - { - for(int i=s.size()-1 ;; --i) - { - if(i==-1) - return false; - if(s[i]<'9') { - s[i]++; - break; - } - s[i]='0'; - } - return true; + if(vis[p][value]) + return; + vis[p][value] = true; + for(int q=0; q @@ -88,65 +50,117 @@ { ostringstream os; os << " (" << int((clock()-start_time)/CLOCKS_PER_SEC*1000) << " msec)"; return os.str(); } template ostream& operator<<(ostream& os, const vector& v) { os << "{ "; for(typename vector::const_iterator it=v.begin(); it!=v.end(); ++it) os << '\"' << *it << '\"' << (it+1==v.end() ? "" : ", "); os << " }"; return os; } -void verify_case(const string& Expected, const string& Received) { +void verify_case(const int& Expected, const int& Received) { bool ok = (Expected == Received); if(ok) cerr << "PASSED" << timer() << endl; else { cerr << "FAILED" << timer() << endl; cerr << "\to: \"" << Expected << '\"' << endl << "\tx: \"" << Received << '\"' << endl; } } #define CASE(N) {cerr << "Test Case #" << N << "..." << flush; start_time=clock(); -#define END verify_case(_, LeftRightDigitsGame2().minNumber(digits, lowerBound));} +#define END verify_case(_, XorTravelingSalesman().maxProfit(cityValues, roads));} int main(){ CASE(0) - string digits = "565"; - string lowerBound = "556"; - string _ = "556"; + int cityValues_[] = {0, 7, 11, 5, 2}; + vector cityValues(cityValues_, cityValues_+sizeof(cityValues_)/sizeof(*cityValues_)); + string roads_[] = {"NYNYY", + "YNYNN", + "NYNNN", + "YNNNN", + "YNNNN"}; + vector roads(roads_, roads_+sizeof(roads_)/sizeof(*roads_)); + int _ = 14; END CASE(1) - string digits = "565"; - string lowerBound = "566"; - string _ = "655"; + int cityValues_[] = {556}; + vector cityValues(cityValues_, cityValues_+sizeof(cityValues_)/sizeof(*cityValues_)); + string roads_[] = {"N"}; + vector roads(roads_, roads_+sizeof(roads_)/sizeof(*roads_)); + int _ = 556; END CASE(2) - string digits = "565"; - string lowerBound = "656"; - string _ = ""; + int cityValues_[] = {0, 4, 8, 32, 512}; + vector cityValues(cityValues_, cityValues_+sizeof(cityValues_)/sizeof(*cityValues_)); + string roads_[] = {"NYYYY", + "YNNNN", + "YNNNN", + "YNNNN", + "YNNNN"}; + vector roads(roads_, roads_+sizeof(roads_)/sizeof(*roads_)); + int _ = 556; END CASE(3) - string digits = "9876543210"; - string lowerBound = "5565565565"; - string _ = "5678943210"; + int cityValues_[] = {37, 1, 19, 64, 42, 41, 64, 64, 54, 16, 256, 36, 64, 2, 4, 2, 62, 29, 58, 64, 1, 32, 16, + 256, 17, 2, 17, 4, 1, 64, 21, 8, 256, 63, 3, 1, 43, 15, 8, 39, 41, 8, 16, 8, 16, 256, 64, 512, 45, 64}; + vector cityValues(cityValues_, cityValues_+sizeof(cityValues_)/sizeof(*cityValues_)); + string roads_[] = {"NNNNNNYYYYNNNNNNNNNNNNNNNNNNNNNNNNNYNNNNNNNNNNNNNN", + "NNNNNNNNNNNNNNNNYNNNNNNNYNNNNNNNNNNNNNNNNYYNNNYYNN", + "NNNNNYYNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN", + "NNNNNNNYNNNNNNNNNNYNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN", + "NNNNNNNNNNNNNNNYNNYNYNNNNNNYNNNNNNNNNNYNNNNNNNNNNN", + "NNYNNNYNNNNNNNNYNNYNNNYYNNNYNYNNNNYNNNNNNNNYNNNNNN", + "YNYNNYNYNNNNNNNYNNNNNNNNNNNNNNNNNNNYNNNNNNNNYNNYNN", + "YNNYNNYNYNYYNNNNNNNNNNNNNNNNNNNNNNYNNYNNNNNNNNNNNN", + "YNNNNNNYNNNNNNNNNNNNNNYNYNNNNNNNNNNYYYNNNNNNNYNNNY", + "YNNNNNNNNNNNNNNNNYNYNYNYYNNNYNNNNYNNNNNNNNNNNNNNNY", + "NNNNNNNYNNNNYNNNNNNNNYYNNNYYNNNNYNYYNNNNNNNNNNNNNN", + "NNNNNNNYNNNNNNYNNNNYYNNNYNNYYNNNNNNNNNNNNNYNYNNNNN", + "NNNNNNNNNNYNNNNNYNNNNYNNNNNNNNNNYNYNNYNYNNNYNYNNNN", + "NNNNNNNNNNNNNNNYNNNNNNNNNYNNNNNNNNNNNNYNNNNNNNNYNN", + "NNNNNNNNNNNYNNNNNYNYNNYYNNNNNYNNNNNNNNNYNNYNNYNNNN", + "NNNNYYYNNNNNNYNNNYYNNYNNNYNYYNNNNNNNNNYYYNNYNNYNYN", + "NYNNNNNNNNNNYNNNNNNNYNNNYYNNNYNNNNYNNNNNNNNNNNNNNN", + "NNNNNNNNNYNNNNYYNNNNNNYNNNYNNNNNYNNYNYYNNNNYNNNYNN", + "NNNYYYNNNNNNNNNYNNNNNYNYNYNNNNNNNNYNNNNNNNNNNNNNNN", + "NNNNNNNNNYNYNNYNNNNNNYNYYYNNNNNNNNNNNYNNYNNNNNYNNN", + "NNNNYNNNNNNYNNNNYNNNNYNNNYYNNNYNNNYNNNNNNNNNNYNYNY", + "NNNNNNNNNYYNYNNYNNYYYNYNNNNNNNNYNYNNNNNNNNNNYNNNNN", + "NNNNNYNNYNYNNNYNNYNNNYNNNNNNNNNNNYNNYNYNNYNNNNNNNN", + "NNNNNYNNNYNNNNYNNNYYNNNNNNNNNNNNNNNNNNNNNNYNNNYNNN", + "NYNNNNNNYYNYNNNNYNNYNNNNNNNNNNYNNNNNNYNNNYNNYNNNNN", + "NNNNNNNNNNNNNYNYYNYYYNNNNNNYNNNNNNNNNNNYYNNNNNNNYN", + "NNNNNNNNNNYNNNNNNYNNYNNNNNNNNYNNNNYNNNNNNYYNNNNYNN", + "NNNNYYNNNNYYNNNYNNNNNNNNNYNNNYYNYNNNNNNNNNNNNNNNNN", + "NNNNNNNNNYNYNNNYNNNNNNNNNNNNNYNNNNYNNNNNNNNYNNYNYN", + "NNNNNYNNNNNNNNYNYNNNNNNNNNYYYNNNNNNNNYNNNNYNNNNNNN", + "NNNNNNNNNNNNNNNNNNNNYNNNYNNYNNNNNYNNNNNNNNNNNNNNNY", + "NNNNNNNNNNNNNNNNNNNNNYNNNNNNNNNNYNNNNNNNNNYNNNNNNN", + "NNNNNNNNNNYNYNNNNYNNNNNNNNNYNNNYNNNYYNNNNNYNNNYNNN", + "NNNNNNNNNYNNNNNNNNNNNYYNNNNNNNYNNNNNNNYNNYNNNNNNNN", + "NNNNNYNYNNYNYNNNYNYNYNNNNNYNYNNNNNNYYNYNYNYNNNNNYN", + "YNNNNNYNYNYNNNNNNYNNNNNNNNNNNNNNYNYNNNNNYNNYNNNYNN", + "NNNNNNNNYNNNNNNNNNNNNNYNNNNNNNNNYNYNNNNNNYNNNNNNYN", + "NNNNNNNYYNNNYNNNNYNYNNNNYNNNNYNNNNNNNNNNNYNNNNYNNN", + "NNNNYNNNNNNNNYNYNYNNNNYNNNNNNNNNNYYNNNNYNNNNNNNNNY", + "NNNNNNNNNNNNYNYYNNNNNNNNNYNNNNNNNNNNNNYNNNNNYNYYNN", + "NNNNNNNNNNNNNNNYNNNYNNNNNYNNNNNNNNYYNNNNNNNNNNNNNN", + "NYNNNNNNNNNNNNNNNNNNNNYNYNYNNNNNNYNNYYNNNNNNNNNNNN", + "NYNNNNNNNNNYNNYNNNNNNNNYNNYNNYNYYNYNNNNNNNNNYNNNNN", + "NNNNNYNNNNNNYNNYNYNNNNNNNNNNYNNNNNNYNNNNNNNNNNNNNY", + "NNNNNNYNNNNYNNNNNNNNNYNNYNNNNNNNNNNNNNNYNNYNNYNNNY", + "NNNNNNNNYNNNYNYNNNNNYNNNNNNNNNNNNNNNNNNNNNNNYNNNNN", + "NYNNNNNNNNNNNNNYNNNYNNNYNNNNYNNNYNNNNYNYNNNNNNNNNN", + "NYNNNNYNNNNNNYNNNYNNYNNNNNYNNNNNNNNYNNNYNNNNNNNNNN", + "NNNNNNNNNNNNNNNYNNNNNNNNNYNNYNNNNNYNYNNNNNNNNNNNNN", + "NNNNNNNNYYNNNNNNNNNNYNNNNNNNNNYNNNNNNNYNNNNYYNNNNN"}; + vector roads(roads_, roads_+sizeof(roads_)/sizeof(*roads_)); + int _ = 895; END +/* CASE(4) - string digits = "8016352"; - string lowerBound = "1000000"; - string _ = "1086352"; + int cityValues_[] = ; + vector cityValues(cityValues_, cityValues_+sizeof(cityValues_)/sizeof(*cityValues_)); + string roads_[] = ; + vector roads(roads_, roads_+sizeof(roads_)/sizeof(*roads_)); + int _ = ; END CASE(5) - string digits = "93907757041066207580227527897335194812859183833602"; - string lowerBound = "12089579919698667599337853067564506011831210501927"; - string _ = ""; -END -CASE(6) - string digits = "1"; - string lowerBound = "2"; - string _ = ""; + int cityValues_[] = ; + vector cityValues(cityValues_, cityValues_+sizeof(cityValues_)/sizeof(*cityValues_)); + string roads_[] = ; + vector roads(roads_, roads_+sizeof(roads_)/sizeof(*roads_)); + int _ = ; END -CASE(6) - string digits = "2"; - string lowerBound = "2"; - string _ = "2"; -END -CASE(6) - string digits = "3"; - string lowerBound = "2"; - string _ = "3"; -END -CASE(6) - string digits = "55555555555555555555555555555555555555555555555555"; - string lowerBound = "55555555555555555555555555555555555555555555555555"; - string _ = "55555555555555555555555555555555555555555555555555"; -END +*/ } // END CUT HERE Index: SRM/556-U/1B.cpp ================================================================== --- SRM/556-U/1B.cpp +++ SRM/556-U/1B.cpp @@ -17,32 +17,70 @@ using namespace std; typedef long long LL; typedef long double LD; typedef complex CMP; -class XorTravelingSalesman { public: - int maxProfit(vector cityValues, vector roads) +class LeftRightDigitsGame2 { public: + string minNumber(string digits, string lowerBound) + { + return rec(digits, lowerBound); + } + + map memo; + string rec(const string& digits, const string& lwb) { - vector< vector > vis(cityValues.size(), vector(1024, false)); - rec(0, cityValues[0], cityValues, roads, vis); - int best = 0; - for(int p=0; p=lwb ? digits.substr(0,lwb.size()) : ""); + string minSoFar = string(1, digits[0]); + for(int t=1; t tail); + if(!needOneMore || incr(target)) { + string m = minNumber(digits, target); + if( m.size() == target.size() ) { + string cand = digits[t] + m + tail; + if( lwb<=cand && (best.empty() || best > cand) ) + best = cand; + } + } + } + else + { + string cand = digits[t] + minSoFar + digits.substr(t+1, lwb.size()-(t+1)); + if( best.empty() || best > cand ) + best = cand; + } + + minSoFar = min(minSoFar+digits[t], digits[t]+minSoFar); + } + return memo[lwb] = best; } - void rec(int p, int value, const vector & cityValues, const vector & roads, - vector< vector >& vis) + bool incr(string& s) { - if(vis[p][value]) - return; - vis[p][value] = true; - for(int q=0; q @@ -50,117 +88,65 @@ { ostringstream os; os << " (" << int((clock()-start_time)/CLOCKS_PER_SEC*1000) << " msec)"; return os.str(); } template ostream& operator<<(ostream& os, const vector& v) { os << "{ "; for(typename vector::const_iterator it=v.begin(); it!=v.end(); ++it) os << '\"' << *it << '\"' << (it+1==v.end() ? "" : ", "); os << " }"; return os; } -void verify_case(const int& Expected, const int& Received) { +void verify_case(const string& Expected, const string& Received) { bool ok = (Expected == Received); if(ok) cerr << "PASSED" << timer() << endl; else { cerr << "FAILED" << timer() << endl; cerr << "\to: \"" << Expected << '\"' << endl << "\tx: \"" << Received << '\"' << endl; } } #define CASE(N) {cerr << "Test Case #" << N << "..." << flush; start_time=clock(); -#define END verify_case(_, XorTravelingSalesman().maxProfit(cityValues, roads));} +#define END verify_case(_, LeftRightDigitsGame2().minNumber(digits, lowerBound));} int main(){ CASE(0) - int cityValues_[] = {0, 7, 11, 5, 2}; - vector cityValues(cityValues_, cityValues_+sizeof(cityValues_)/sizeof(*cityValues_)); - string roads_[] = {"NYNYY", - "YNYNN", - "NYNNN", - "YNNNN", - "YNNNN"}; - vector roads(roads_, roads_+sizeof(roads_)/sizeof(*roads_)); - int _ = 14; + string digits = "565"; + string lowerBound = "556"; + string _ = "556"; END CASE(1) - int cityValues_[] = {556}; - vector cityValues(cityValues_, cityValues_+sizeof(cityValues_)/sizeof(*cityValues_)); - string roads_[] = {"N"}; - vector roads(roads_, roads_+sizeof(roads_)/sizeof(*roads_)); - int _ = 556; + string digits = "565"; + string lowerBound = "566"; + string _ = "655"; END CASE(2) - int cityValues_[] = {0, 4, 8, 32, 512}; - vector cityValues(cityValues_, cityValues_+sizeof(cityValues_)/sizeof(*cityValues_)); - string roads_[] = {"NYYYY", - "YNNNN", - "YNNNN", - "YNNNN", - "YNNNN"}; - vector roads(roads_, roads_+sizeof(roads_)/sizeof(*roads_)); - int _ = 556; + string digits = "565"; + string lowerBound = "656"; + string _ = ""; END CASE(3) - int cityValues_[] = {37, 1, 19, 64, 42, 41, 64, 64, 54, 16, 256, 36, 64, 2, 4, 2, 62, 29, 58, 64, 1, 32, 16, - 256, 17, 2, 17, 4, 1, 64, 21, 8, 256, 63, 3, 1, 43, 15, 8, 39, 41, 8, 16, 8, 16, 256, 64, 512, 45, 64}; - vector cityValues(cityValues_, cityValues_+sizeof(cityValues_)/sizeof(*cityValues_)); - string roads_[] = {"NNNNNNYYYYNNNNNNNNNNNNNNNNNNNNNNNNNYNNNNNNNNNNNNNN", - "NNNNNNNNNNNNNNNNYNNNNNNNYNNNNNNNNNNNNNNNNYYNNNYYNN", - "NNNNNYYNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN", - "NNNNNNNYNNNNNNNNNNYNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN", - "NNNNNNNNNNNNNNNYNNYNYNNNNNNYNNNNNNNNNNYNNNNNNNNNNN", - "NNYNNNYNNNNNNNNYNNYNNNYYNNNYNYNNNNYNNNNNNNNYNNNNNN", - "YNYNNYNYNNNNNNNYNNNNNNNNNNNNNNNNNNNYNNNNNNNNYNNYNN", - "YNNYNNYNYNYYNNNNNNNNNNNNNNNNNNNNNNYNNYNNNNNNNNNNNN", - "YNNNNNNYNNNNNNNNNNNNNNYNYNNNNNNNNNNYYYNNNNNNNYNNNY", - "YNNNNNNNNNNNNNNNNYNYNYNYYNNNYNNNNYNNNNNNNNNNNNNNNY", - "NNNNNNNYNNNNYNNNNNNNNYYNNNYYNNNNYNYYNNNNNNNNNNNNNN", - "NNNNNNNYNNNNNNYNNNNYYNNNYNNYYNNNNNNNNNNNNNYNYNNNNN", - "NNNNNNNNNNYNNNNNYNNNNYNNNNNNNNNNYNYNNYNYNNNYNYNNNN", - "NNNNNNNNNNNNNNNYNNNNNNNNNYNNNNNNNNNNNNYNNNNNNNNYNN", - "NNNNNNNNNNNYNNNNNYNYNNYYNNNNNYNNNNNNNNNYNNYNNYNNNN", - "NNNNYYYNNNNNNYNNNYYNNYNNNYNYYNNNNNNNNNYYYNNYNNYNYN", - "NYNNNNNNNNNNYNNNNNNNYNNNYYNNNYNNNNYNNNNNNNNNNNNNNN", - "NNNNNNNNNYNNNNYYNNNNNNYNNNYNNNNNYNNYNYYNNNNYNNNYNN", - "NNNYYYNNNNNNNNNYNNNNNYNYNYNNNNNNNNYNNNNNNNNNNNNNNN", - "NNNNNNNNNYNYNNYNNNNNNYNYYYNNNNNNNNNNNYNNYNNNNNYNNN", - "NNNNYNNNNNNYNNNNYNNNNYNNNYYNNNYNNNYNNNNNNNNNNYNYNY", - "NNNNNNNNNYYNYNNYNNYYYNYNNNNNNNNYNYNNNNNNNNNNYNNNNN", - "NNNNNYNNYNYNNNYNNYNNNYNNNNNNNNNNNYNNYNYNNYNNNNNNNN", - "NNNNNYNNNYNNNNYNNNYYNNNNNNNNNNNNNNNNNNNNNNYNNNYNNN", - "NYNNNNNNYYNYNNNNYNNYNNNNNNNNNNYNNNNNNYNNNYNNYNNNNN", - "NNNNNNNNNNNNNYNYYNYYYNNNNNNYNNNNNNNNNNNYYNNNNNNNYN", - "NNNNNNNNNNYNNNNNNYNNYNNNNNNNNYNNNNYNNNNNNYYNNNNYNN", - "NNNNYYNNNNYYNNNYNNNNNNNNNYNNNYYNYNNNNNNNNNNNNNNNNN", - "NNNNNNNNNYNYNNNYNNNNNNNNNNNNNYNNNNYNNNNNNNNYNNYNYN", - "NNNNNYNNNNNNNNYNYNNNNNNNNNYYYNNNNNNNNYNNNNYNNNNNNN", - "NNNNNNNNNNNNNNNNNNNNYNNNYNNYNNNNNYNNNNNNNNNNNNNNNY", - "NNNNNNNNNNNNNNNNNNNNNYNNNNNNNNNNYNNNNNNNNNYNNNNNNN", - "NNNNNNNNNNYNYNNNNYNNNNNNNNNYNNNYNNNYYNNNNNYNNNYNNN", - "NNNNNNNNNYNNNNNNNNNNNYYNNNNNNNYNNNNNNNYNNYNNNNNNNN", - "NNNNNYNYNNYNYNNNYNYNYNNNNNYNYNNNNNNYYNYNYNYNNNNNYN", - "YNNNNNYNYNYNNNNNNYNNNNNNNNNNNNNNYNYNNNNNYNNYNNNYNN", - "NNNNNNNNYNNNNNNNNNNNNNYNNNNNNNNNYNYNNNNNNYNNNNNNYN", - "NNNNNNNYYNNNYNNNNYNYNNNNYNNNNYNNNNNNNNNNNYNNNNYNNN", - "NNNNYNNNNNNNNYNYNYNNNNYNNNNNNNNNNYYNNNNYNNNNNNNNNY", - "NNNNNNNNNNNNYNYYNNNNNNNNNYNNNNNNNNNNNNYNNNNNYNYYNN", - "NNNNNNNNNNNNNNNYNNNYNNNNNYNNNNNNNNYYNNNNNNNNNNNNNN", - "NYNNNNNNNNNNNNNNNNNNNNYNYNYNNNNNNYNNYYNNNNNNNNNNNN", - "NYNNNNNNNNNYNNYNNNNNNNNYNNYNNYNYYNYNNNNNNNNNYNNNNN", - "NNNNNYNNNNNNYNNYNYNNNNNNNNNNYNNNNNNYNNNNNNNNNNNNNY", - "NNNNNNYNNNNYNNNNNNNNNYNNYNNNNNNNNNNNNNNYNNYNNYNNNY", - "NNNNNNNNYNNNYNYNNNNNYNNNNNNNNNNNNNNNNNNNNNNNYNNNNN", - "NYNNNNNNNNNNNNNYNNNYNNNYNNNNYNNNYNNNNYNYNNNNNNNNNN", - "NYNNNNYNNNNNNYNNNYNNYNNNNNYNNNNNNNNYNNNYNNNNNNNNNN", - "NNNNNNNNNNNNNNNYNNNNNNNNNYNNYNNNNNYNYNNNNNNNNNNNNN", - "NNNNNNNNYYNNNNNNNNNNYNNNNNNNNNYNNNNNNNYNNNNYYNNNNN"}; - vector roads(roads_, roads_+sizeof(roads_)/sizeof(*roads_)); - int _ = 895; + string digits = "9876543210"; + string lowerBound = "5565565565"; + string _ = "5678943210"; +END +CASE(4) + string digits = "8016352"; + string lowerBound = "1000000"; + string _ = "1086352"; +END +CASE(5) + string digits = "93907757041066207580227527897335194812859183833602"; + string lowerBound = "12089579919698667599337853067564506011831210501927"; + string _ = ""; +END +CASE(6) + string digits = "1"; + string lowerBound = "2"; + string _ = ""; +END +CASE(6) + string digits = "2"; + string lowerBound = "2"; + string _ = "2"; +END +CASE(6) + string digits = "3"; + string lowerBound = "2"; + string _ = "3"; END -/* -CASE(4) - int cityValues_[] = ; - vector cityValues(cityValues_, cityValues_+sizeof(cityValues_)/sizeof(*cityValues_)); - string roads_[] = ; - vector roads(roads_, roads_+sizeof(roads_)/sizeof(*roads_)); - int _ = ; +CASE(6) + string digits = "55555555555555555555555555555555555555555555555555"; + string lowerBound = "55555555555555555555555555555555555555555555555555"; + string _ = "55555555555555555555555555555555555555555555555555"; END -CASE(5) - int cityValues_[] = ; - vector cityValues(cityValues_, cityValues_+sizeof(cityValues_)/sizeof(*cityValues_)); - string roads_[] = ; - vector roads(roads_, roads_+sizeof(roads_)/sizeof(*roads_)); - int _ = ; -END -*/ } // END CUT HERE