結果
| 問題 | No.429 CupShuffle |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-10-03 09:19:09 |
| 言語 | PHP (843.2) |
| 結果 |
AC
|
| 実行時間 | 150 ms / 2,000 ms |
| コード長 | 892 bytes |
| 記録 | |
| コンパイル時間 | 1,186 ms |
| コンパイル使用メモリ | 30,932 KB |
| 実行使用メモリ | 71,436 KB |
| 最終ジャッジ日時 | 2024-11-21 15:07:29 |
| 合計ジャッジ時間 | 2,868 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 16 |
コンパイルメッセージ
No syntax errors detected in Main.php
ソースコード
<?php
list($n, $k, $x) = explode(" ",trim(fgets(STDIN)));
$start = range(1, $n);
$manipulate = [];
for($i = $k;$i;$i--)
{
$manipulate[] = explode(" ",trim(fgets(STDIN)));
}
$goal = explode(" ",trim(fgets(STDIN)));
$start = exchange($start, array_slice($manipulate,0,$x - 1));
$goal = exchange($goal, array_reverse(array_slice($manipulate,$x)));
$diff = diff($start, $goal);
sort($diff);
echo (implode(" ",$diff)).PHP_EOL;
function exchange($base, $acts)
{
foreach($acts as $act)
{
$a = $act[0]-1; //num to index
$b = $act[1]-1; //num to index
$tmp = $base[$b];
$base[$b] = $base[$a];
$base[$a] = $tmp;
}
return $base;
}
function diff($a, $b)
{
$res=[];
$len = count($a);
for($i=0;$i < $len;$i++)
{
if($a[$i] != $b[$i])
{
$res[] = $i+1; //index to num
}
}
return $res;
}