X-Git-Url: https://ruin.nu/git/?p=icfp05.git;a=blobdiff_plain;f=robbersrc%2Frobber.cpp;h=247a00e6de14d8a1e7a47fe52c92f0e14c552aef;hp=9bead891761960fd61654568996c0d043cdba3f3;hb=d9ea67edb4cdaab1f5f7810de640f8fb722a15d1;hpb=524573fae3ea0c8a1bb01a2b4fd848bff0bb04d1 diff --git a/robbersrc/robber.cpp b/robbersrc/robber.cpp index 9bead89..247a00e 100644 --- a/robbersrc/robber.cpp +++ b/robbersrc/robber.cpp @@ -22,26 +22,29 @@ string Robber::turn(){ //cerr << "Discarding: " << street->first << " since car is needed" << endl; continue; } + //cerr << "Looking at street: " << street->first << endl; double goodness = 0; Intersection& conInter = _intersections[street->first]; list closestFootCop = shortestPath(street->first, cop_foot, FindPlayer(_players, cop_foot, 6), true); unsigned int closestCop = closestFootCop.size(); - //cerr << "Cop on fot " << closestCop << " intersections away." << endl; bool copInCar = false; - list closestCarCop = shortestPath(street->first, cop_car, FindPlayer(_players, cop_car, closestCop > 0 ? closestCop : 5), true); - //cerr << "Cop in car " << closestCarCop.size() << " intersections away." << endl; + //cerr << "Cop on fot " << closestCop << " intersections away." << endl; + + if (closestCop > 0 && closestCop < 3) + continue; + list closestCarCop = shortestPath(street->first, cop_car, FindPlayer(_players, cop_car, closestCop - 1 > 0 ? closestCop : 5), true); + //cerr << "Cop in car " << closestCarCop.size() << " intersections away." << endl; if (closestCarCop.size() > 0){ closestCop = closestCarCop.size(); copInCar = true; } - if (closestCop > 0 && closestCop < 3){ - //cerr << "Cop " << closestCop << " intersections away." << endl; + //cerr << "Cop " << closestCop << " intersections away." << endl; + if (closestCop > 0 && closestCop < 3) continue; - } priority_queue banks; for(hash_map::const_iterator bank = _banks.begin(); @@ -61,7 +64,7 @@ string Robber::turn(){ continue; //list::iterator i = l.begin(); //++i; - banks.push(bank->second/(pow(l.size(),4.0))); + banks.push(bank->second/(pow(l.size(),2.0))); } } //sort(banks.begin(),banks.end(),greater());