タイトル出典:AcWing[1]。 トピック「Pull the Light」というゲームをしたことがありますか? ライトは正方形に配置されています。 各ライトには、プレイヤーが状態を変更するために使用できるスイッチがあります。 各ステップで、プレイヤーは特定のライトの状態を変更できます。 プレイヤーがライトの状態を変更すると、連鎖反応が発生し、このライトの上、下、左、右に隣接するライトの状態もそれに応じて変化します。 点灯しているライトを表すには数字を使用し、消灯しているライトを表すには数字を使用します。 次の状態
左上隅のライトの状態を変更すると、次のようになります。
真ん中のライトを変更すると、ステータスは次のようになります。
ゲームの初期状態がいくつか与えられた場合、プレイヤーがステップ内ですべてのライトを明るくすることが可能かどうかを判断するプログラムを作成します。 入力フォーマット入力の最初の行は正の整数です。これは、データ内に解決すべき初期ゲーム状態の合計があることを意味します。 次のデータ行はグループに分かれており、各データ グループには行があり、各行には文字があります。 各データ セットはゲームの初期状態を表します。 各データ グループは空白行で区切られます。 出力フォーマット合計で 行のデータが出力され、各行には 未満の整数が含まれます。これは、入力データ内の対応するゲーム状態ですべてのライトを点灯させるために必要な最小ステップ数を表します。 ゲームの特定の初期状態で、ステップ内ですべてのライトを明るくできない場合は出力します。 データ範囲サンプル入力:
サンプル出力:
解決まず、説明する必要がある 3 つの非常に重要な特性があります。
したがって:
では、2 列目が完全に点灯していることをどのように確認するのでしょうか? この問題を解決するには、3 列目を使用するしかありません。 では、最後の列 (5 列目) が完全に点灯していることをどうやって確認するのでしょうか? それを確認する方法はありません。 1 列目の押し方が決まると、次の 2 列目、3 列目、4 列目、5 列目の押し方と、すべて点灯できるかどうかが決まることがわかりました。 したがって、任意の入力状態について、最初の行の 32 個のメソッドすべてを走査して、どのメソッドが完全に点灯できるか (5 行目の状態をチェックすることによって)、またこれらの完全に点灯しているメソッドのいずれかの操作数が 6 以下であるかどうかを確認します。はいの場合はオペランドを返し、そうでない場合は -1 を返します。 コード
参考文献 [1] アクウィング: https://www.acwing.com/ |
>>: データセットと DataLoader を使用して PyTorch でデータをカスタマイズする
ボストンのロボット犬はしばらく前から販売されているが、価格は少々魅力的ではない。インターネット上には...
サンフランシスコは前例のない措置として、政府による顔認識技術の使用を禁止する規則を発布した。悪者を捕...
歩き方は人それぞれ違います。歩き方は、その時々の気分など、あなたに関する秘密を明らかにします。たとえ...
世界の建設業界の現状人口ボーナスの消滅により、中国の建設業界は人件費への大きな圧力に直面しているほか...
AI テクノロジーの台頭により、ソーシャル メディアは人間や人間のグループでは得られない洞察を提供...
[[412098]] [51CTO.com クイック翻訳]キャピタル・ワンのモバイル、ウェブ、会話型...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
この世で唯一負けない武術はスピードだ。ディープラーニング モデルをより速くトレーニングする方法は、常...
日本は、急速に減少する日本の人口によって引き起こされる問題のいくつかに対処するために、人工知能(AI...