29 lines
		
	
	
		
			685 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			685 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
// je récupère la map de base
 | 
						|
$map = array_map('str_split', explode("\n", file_get_contents('input.txt')));
 | 
						|
$height = count($map);
 | 
						|
$length = count($map[0]);
 | 
						|
 | 
						|
// je la multiplie pour qu'elle soit complète
 | 
						|
$multiply_by = ceil($height / $length) * 4;
 | 
						|
array_walk($map, static function(&$row) use ($multiply_by) {
 | 
						|
    $row = str_split(str_repeat(implode('', $row), $multiply_by));
 | 
						|
});
 | 
						|
$height = count($map);
 | 
						|
$length = count($map[0]);
 | 
						|
 | 
						|
// je la visite et compte les arbres
 | 
						|
$right = 0;
 | 
						|
$down = 0;
 | 
						|
$count_trees = 0;
 | 
						|
while ($right < $length && $down < $height) {
 | 
						|
    if ($map[$down][$right] === '#') {
 | 
						|
        $count_trees++;
 | 
						|
    }
 | 
						|
 | 
						|
    $right += 3;
 | 
						|
    ++$down;
 | 
						|
}
 | 
						|
 | 
						|
echo $count_trees; |