Skip to content

Instantly share code, notes, and snippets.

@TheTrigger
Created December 12, 2018 16:35
Show Gist options
  • Save TheTrigger/50c9ebe229129b469bad12ec4a5d8204 to your computer and use it in GitHub Desktop.
Save TheTrigger/50c9ebe229129b469bad12ec4a5d8204 to your computer and use it in GitHub Desktop.
PHP Challenge #1
<pre><?php
//Colori a disposizione
$COLORI = array("RED", "GREEN", "ORANGE", "BLUE", "YELLOW", "BLACK");
//Creo la matrice in maniera randomica
for ($i = 0; $i < 5; $i++) {
for ($j = 0; $j < 5; $j++) {
$Matrix[$i][$j] = $COLORI[rand(0, count($COLORI) - 1)];
}
}
//Stampo la matrice
print_r("<h1>La matrice</h1><table>");
foreach ($Matrix as $riga) {
print_r("<tr>");
foreach ($riga as $colonna) {
print_r("<td style='width:50px;height:50px;background-color:$colonna;'></td>");
}
print_r("</tr>");
}
print_r("</table>");
/**
*
* Trovare quale (quali se a pari merito) colore possiede più link, verso celle dello stesso colore.
* N.B.
* 1 - contano solo i link verticali e orizzontali
* 2 - il conteggio dei link deve essere relativo alla totalità della matrice (sommare i link di successioni multiple anche se separate)
*
* RECORD DA BATTERE (Mio ovviamente)
* 6 righe di codice (8 contando la stampa del risultato)
*
* REGOLE
* Si possono omettere le graffe laddove possibile, non verranno comunque conteggiate le righe contenenti le sole graffe
* Al ; si va a capo
* Non sono ammessi NOTICE
* La matrice deve essere almeno 5x5
*
*
*
* INIZIA QUI A SCRIVERE IL TUO CODICE
*/
// tg@thetrigger
for ($i = 0; $i < sizeof($Matrix); $i++) {
for ($j = 0; $j < sizeof($Matrix[$i]); $j++) {
$Result[$Matrix[$i][$j]] += (!isset($Result[$Matrix[$i][$j]]) ? (int) ($Result[$Matrix[$i][$j]] = 0) : 0) + ((int) ($i + 1 < sizeof($Matrix) && $Matrix[$i][$j] == $Matrix[$i + 1][$j])) + ((int) ($j + 1 < sizeof($Matrix[$j]) && $Matrix[$i][$j] == $Matrix[$i][$j + 1]));
}
}
print_r($Result);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment