#include #include using namespace std; bool *alive; map *roads; char *strengths; int cityCount,aliveCount,roadCount,alienCount; char alienStrength; void invade(int city, int strength){ if (alive[city]){ alive[city]=false; aliveCount--; } strengths[city]=strength; map::iterator iter; for( iter = roads[city].begin(); iter != roads[city].end(); iter++ ){ if (iter->second < strength && strengths[iter->first]first,strength-iter->second); } } int main(int argc, char** argv) { int c1,c2,d; scanf("%d %d %d %d",&cityCount,&roadCount,&alienCount,&alienStrength); while (cityCount){ aliveCount=cityCount; alive = new bool[cityCount]; strengths= new char[cityCount]; roads = new map[cityCount]; for (int i=0;i