入力は、近傍情報を含むi行で構成されます。各I 番目の行は、の隣人表す、4つの値が含まれている私に北、東、南と西はそれぞれ、方向を。したがって、各値は、行1から開始して、i 番目の行の指定された方向の隣接を表し、最大65,535行になります。0値は、その方向への隣人を示していません。
たとえば、最初の行が「0 2 3 10」の場合、i隣人には3つの隣人がいることを意味します。北に1人、東に2人、南に3人、西に10人です。
北西に最も近い値から始めて、近隣の配列を出力する必要があります。各ネイバーは、他のネイバーに対する相対的な位置に1回だけ表示されます。いくつかの例を見てみましょう。
入力:
0 0 0 0
隣人なし(空の場合)、出力:
1
入力:
0 2 0 0
0 0 0 1
1には東に隣接2があります。2には西に隣接1があります
出力:
1 2
入力:
0 2 0 0
0 0 3 1
2 0 0 0
1には東に隣接2があります。2には、西に隣接1、南に3があります。3は北に隣人2がいます
出力:
1 2
3
入力:
2 0 0 0
0 0 1 0
出力:
2
1
入力:
0 2 3 0
0 0 4 1
1 4 0 0
2 0 0 3
出力:
1 2
3 4
ルール:
テストケースは1つの空の行で区切られます。異なるテストケースの出力も、1つの空行で区切る必要があります。- 出力グラフは常に接続されています。2のみに1ネイバーを、4にのみ3ネイバー(1-2コンポーネントから分離)を持たせるつもりはありません。
- すべてのエントリが有効です。無効なエントリの例:
- スペース、改行、および数字(0〜9)とは異なる文字または記号を含むエントリ。
- I 番目含む行のI 番目の値を(一方はそれ自身の隣接することができないため)。
- 負の値または65,535より大きい値。
- 行の値が4つ未満。
- 行に4つ以上の値。
- 2つの異なる方向を指す同じ隣人(例:0 1 1 0)。
標準的な抜け穴が適用され、バイト単位の最短回答が優先されます。
4
テストケースは1つの空の行で区切られています -これは異常な要件です。通常、チャレンジエントリは一度に1つのテストケースを処理します(呼び出しごとに1つ)。チャレンジエントリが一度に複数のテストケースを処理できる場合は素晴らしいですが、複数のテストケースエントリをフォーマットする方法を厳密に指定する価値はほとんどありません。
—
デジタル外傷
出力が出力にどのように関係するのかわかりません。「隣人の配列」が何を意味するのか、そしてこの配列をどのルールで作成する必要があるのかを詳しく説明できますか?
—
ウィーグリフィン
ああ、私はそれを得ると思う。隣人は列挙されます
—
スチューウィーグリフィン
1,2,...。私は隣人が東に2つの「ユニット」、南に1つの「ユニット」を持っていたが、など。それを理解できませんでした。
@StewieGriffinうん、それがはっきりするまでに何度か読み通さなければならなかった
—
Digital Trauma