function findRoute(map) { var shortestRoute = []; var currentCity = 'City1'; var nextCity = ''; var currentCityIndex = 0; var nextCityIndex = 0; var currentCityTime = 0; var totalTime = 0;
shortestRoute.push(currentCity);
while (shortestRoute.length map.length) { var currentCityTimes = map[currentCityIndex];
for (var i = 1; i currentCityTimes.length; i++) { if (i === currentCityTimes.length - 1) { nextCity = map[0][0]; nextCityIndex = 0; currentCityTime = currentCityTimes[i]; } else { nextCity = map[i][0]; nextCityIndex = i; currentCityTime = currentCityTimes[i]; }
if (shortestRoute.indexOf(nextCity) === -1) { break; } }
巡回問題 (スコア:0)
地図上の都市を一回づつ訪れるのにかかる時間を最小にするためのルートを探す
var map = [
['City1', 1, 2, 3, 4, 5],
['City2', 6, 7, 8, 9, 10],
['City3', 11, 12, 13, 14, 15],
['City4', 16, 17, 18, 19, 20],
['City5', 21, 22, 23, 24, 25]
];
function findRoute(map) {
var shortestRoute = [];
var currentCity = 'City1';
var nextCity = '';
var currentCityIndex = 0;
var nextCityIndex = 0;
var currentCityTime = 0;
var totalTime = 0;
shortestRoute.push(currentCity);
while (shortestRoute.length map.length) {
var currentCityTimes = map[currentCityIndex];
for (var i = 1; i currentCityTimes.length; i++) {
if (i === currentCityTimes.length - 1) {
nextCity = map[0][0];
nextCityIndex = 0;
currentCityTime = currentCityTimes[i];
} else {
nextCity = map[i][0];
nextCityIndex = i;
currentCityTime = currentCityTimes[i];
}
if (shortestRoute.indexOf(nextCity) === -1) {
break;
}
}
shortestRoute.push(nextCity);
totalTime += currentCityTime;
currentCity = nextCity;
currentCityIndex = nextCityIndex;
}
return [shortestRoute, totalTime];
}
Re: (スコア:0)
AIプログラムができるだけ長いコードを生成する質問を探す
var longCode = AIProgram.FindQuestion(x => x.Code.Length);