Harigami
ログイン
anonymous タイトルなし
No License PHP
コピー
<?php
$input_lines = explode(' ', trim(fgets(STDIN)));
$pernum = $input_lines[0];
$linenum = $input_lines[1];
for ($i = 0; $i < $linenum; $i++) {
    $temp = explode(' ', trim(fgets(STDIN)));
    //$temp=explode(' ',explode(
    $temp1 = $temp[0];
    $temp2 = $temp[2];
    $temp3 = str_replace(array(' liar.', 'honest'), array('znz', 'zez'), $temp[5]);
    $ren[$i] = implode('', array($temp1, $temp3, $temp2));
}
//配列で重複している物を削除する 
$ren = array_unique($ren);
//キーが飛び飛びになっているので、キーを振り直す 
$ren = array_values($ren);
$linenum = count($ren);
//矛盾するかどうか? 
$mujun = false;
for ($i = 0; $i < $linenum; $i++) {
    $temp = explode('z', $ren[$i]);
    if ($temp[0] < $temp[2]) {
        $hoge = $temp[0];
        $temp[0] = $temp[2];
        $temp[2] = $hoge;
    }
    if ($temp[0] == $temp[2] && $temp[1] == 'n') {
        $mujun = true;
        break;
    }
    if (isset($record["$temp[0]" . ',' . "$temp[2]"])) {
        $mujun = true;
        break;
    } else {
        if ($temp[1] == 'e') {
            $record["$temp[0]" . ',' . "$temp[2]"] = 1;
        } else {
            $record["$temp[0]" . ',' . "$temp[2]"] = -1;
        }
    }
}
if ($mujun) {
    echo '-1';
} else {
    $res = $pernum - $linenum + 1;
    echo $res;
}
?>
<?php
$input_lines = explode(' ', trim(fgets(STDIN)));
$pernum = $input_lines[0];
$linenum = $input_lines[1];
for ($i = 0; $i < $linenum; $i++) {
    $temp = explode(' ', trim(fgets(STDIN)));
    //$temp=explode(' ',explode(
    $temp1 = $temp[0];
    $temp2 = $temp[2];
    $temp3 = str_replace(array(' liar.', 'honest'), array('znz', 'zez'), $temp[5]);
    $ren[$i] = implode('', array($temp1, $temp3, $temp2));
}
//配列で重複している物を削除する 
$ren = array_unique($ren);
//キーが飛び飛びになっているので、キーを振り直す 
$ren = array_values($ren);
$linenum = count($ren);
//矛盾するかどうか? 
$mujun = false;
for ($i = 0; $i < $linenum; $i++) {
    $temp = explode('z', $ren[$i]);
    if ($temp[0] < $temp[2]) {
        $hoge = $temp[0];
        $temp[0] = $temp[2];
        $temp[2] = $hoge;
    }
    if ($temp[0] == $temp[2] && $temp[1] == 'n') {
        $mujun = true;
        break;
    }
    if (isset($record["$temp[0]" . ',' . "$temp[2]"])) {
        $mujun = true;
        break;
    } else {
        if ($temp[1] == 'e') {
            $record["$temp[0]" . ',' . "$temp[2]"] = 1;
        } else {
            $record["$temp[0]" . ',' . "$temp[2]"] = -1;
        }
    }
}
if ($mujun) {
    echo '-1';
} else {
    $res = $pernum - $linenum + 1;
    echo $res;
}
?>
コンソール
現在、コメントはありません。
他の人よりも先にコメントしましょう。