f : 解説

45
Problem F: Curling Puzzle 怒髪@dohatsutsu

Upload: takumi-yamashita

Post on 13-Jan-2017

12 views

Category:

Education


1 download

TRANSCRIPT

Page 1: F : 解説

Problem F: Curling Puzzle怒髪@dohatsutsu

Page 2: F : 解説

問題概要

カーリングのストーンを移動させて、ゴール地点にぴったりストーンを止めるパズルゲー

ムがあるので、そのパズルがクリア可能かどうかを求める。

詳しい内容は、問題文を参照してください。

Page 3: F : 解説

H=1 または W=1 の場合

状態が2^(H*W)程度しかないので、幅優先探索で答えを求めることができます。

Page 4: F : 解説

ストーンの数が2個以下の場合

状態が(H*W)^2 程度しかないので、これも幅優先探索で答えを求めることができます。

Page 5: F : 解説

どちらでもなかった場合

ストーンが3つ以上存在して、H>1かつW>1ならば、実は必ずクリアできます。

Page 6: F : 解説

説明

まず、ストーンが2つ存在した場合、一番外側にあるマスならばどこにでもぴったり止め

ることができます。

外周を2つのストーンが周回するイメージです。

Page 7: F : 解説

BA

Page 8: F : 解説

B

A

Page 9: F : 解説

B

A

Page 10: F : 解説

B A

Page 11: F : 解説

AB

Page 12: F : 解説

A

B

Page 13: F : 解説

A

B

Page 14: F : 解説

A B

Page 15: F : 解説

A B

Page 16: F : 解説

A

B

Page 17: F : 解説

A

B

Page 18: F : 解説

AB

Page 19: F : 解説

AB

Page 20: F : 解説

A

B

Page 21: F : 解説

A

B

Page 22: F : 解説

A B

Page 23: F : 解説

A B

Page 24: F : 解説

A

B

Page 25: F : 解説

A

B

Page 26: F : 解説

AB

Page 27: F : 解説

AB

Page 28: F : 解説

A

B

Page 29: F : 解説

A

B

Page 30: F : 解説

A B

Page 31: F : 解説

A B

Page 32: F : 解説

A

B

Page 33: F : 解説

A

B

Page 34: F : 解説

AB

Page 35: F : 解説

説明

ではこれから、具体的にどうすればよいのかを図を用いて説明したいと思います。

Page 36: F : 解説

A B C

Page 37: F : 解説

A B CストーンAを左上に固定して、ストーンB,Cを赤いマスの上で半時計回りに動かしていきます。

そして、ストーンBかCを、★のマスに止めます。

Page 38: F : 解説

A

C

B

今回はCをゴールと同じ行かつ外側から2つ目のマスに止めたことにします。

そうしたらこんどは、AとBを一番外側のマスの上で動かして、Cと同じ行かつ、Cとは反対側のマスに止めます。(★のマスのことです )

Page 39: F : 解説

★AC

B

今回は、AがCと同じ行に止まったことにします。

Page 40: F : 解説

★AC

B

Aを左に打ち出します。

Page 41: F : 解説

AC

B

Page 42: F : 解説

★AC

B

あとは、先ほどと同じように★のマスの上にストーンを置いてはそれを左に打ち出すことを繰り返すだけです。

Page 43: F : 解説

説明

ストーンが4つ以上存在しても問題はありません。

蟻本の最初のほうにある、蟻がすれちがう問題と

似たようなことをイメージすればよいです。

Page 44: F : 解説

講評

AC数 ÷ 提出数 = 1÷7 = 0.1429 … (14%)

First AC

tomerun さん 143分

Page 45: F : 解説

テスター

dohatsu 69行

sate 74行

kzyKT 39行

haji 59行

kawabys 48行

uku 66行