Archief - RISK programmeren

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

godf@ther

Legacy Member
Voor een opdracht moet ik RISK programmeren, bij het volgende komen we echter in de problemen over hoe we dit gaan doen:

De volgende voorwaarde kunnen we moeilijk implementeren:
'Elk continent heeft minstens 1 land dat grenst aan minstens 1 land
van minstens 1 ander continent. Over land kan je dus vanuit elk land, elk ander land bereiken.'

Weet iemand in welke richting we moeten gaan zoeken voor dit te verwezenlijken?

ultddave

Legacy Member
Hangt uiteraard een beetje af van de gebruikte datastructuur (Ik gebruik meestal een graaf bij dit soort zaken).

"Over land kan je dus vanuit elk land, elk ander land bereiken."
Bij een graaf kan je dit testen door => voor elk land het single source shortest path algorithm van dijkstra uit te voeren.
Als een node niet bereikt kan worden vanuit deze source node op het einde van het algoritme, dan kan je dat zien uit de resulterende tabel met paden. ;)
Als je dit doet voor elk stukje land dan weet je of dat land verbonden is met elk ander stukje.

Landen van continenten die niet aangesloten zijn aan uw "wereld", kunnen dus allemaal niet bereikt worden => kan je op het einde ook zien. Dus kan je beide problemen in 1 klap oplossen.

Tenzij ik iets over het hoofd zie ;).

VinceVe

Legacy Member
Ik weet niet hoe ingewikkeld je risk programma moet zijn, maar zou dit ook niet lukken door een dubbele binding.
Simpel uitgedrukt:

Een continent klasse heeft een lijst van landen.
Elk land heeft een atribuut continent.

Om dan te checken dat er 1 land naar een ander continent linkt:

pseudocode:

for(Country country : countryList)
{
if(!country.getContinent().getName().equals(this.getName()))
{
return true;
}
}

return false;

Edit: Laatste zin niet goed gelezen.. Check ultddave zijn antwoord :)

NeverwinterX

Legacy Member
Je zoekt m.a.w. een algoritme om uit te zoeken of de graaf (met landen = nodes en edges = grens) connected is.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan