paizaラーニング「長テーブルのうなぎ屋」を43行のPHPコードで100点取ってみた
<?php
$input_lines = explode(' ', fgets(STDIN));
$n_count = intval($input_lines[0]);// 座席の数
$m_count = intval($input_lines[1]);// グループの数

$chair_state = array();

for ($i=1; $i <= $n_count; $i++) { 
	$chair_state[$i] = 0;
}

for ($i = 0; $i < $m_count; $i++) {
    $people_place = fgets(STDIN);
    $people_place = explode(" ", $people_place);
    $people = intval($people_place[0]);
    $place = intval($people_place[1]);

    $chair_empty_flag = array();

    for ($j=$place; $j < ($place+$people); $j++) { 
    	if($j > $n_count) {
    		if($chair_state[$j-$n_count] == 0)
    			$chair_empty_flag[] = true;
    		else
    			$chair_empty_flag[] = false;
    	}
    	else {
    		if($chair_state[$j] == 0)
	    		$chair_empty_flag[] = true;
	    	else
	    		$chair_empty_flag[] = false;
    	}

    }
    if(array_search(false, $chair_empty_flag) === false) {
    	for ($j=$place; $j < ($place+$people); $j++) { 
    		$chair_state[$j] = 1;
    	}
    }
}

$chair_result = array_count_values($chair_state);
echo $chair_result[1];

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*
*