Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Problem F: Curling Puzzle
怒髪@dohatsutsu
問題概要
カーリングのストーンを移動させて、ゴール地点にぴったりストーンを止めるパズルゲー
ムがあるので、そのパズルがクリア可能かどうかを求める。
詳しい内容は、問題文を参照してください。
H=1 または W=1 の場合
状態が2^(H*W)程度しかないので、幅優先探索で答えを求めることができます。
ストーンの数が2個以下の場合
状態が(H*W)^2 程度しかないので、これも幅優先探索で答えを求めることができます。
どちらでもなかった場合
ストーンが3つ以上存在して、H>1かつW>1ならば、実は必ずクリアできます。
説明
まず、ストーンが2つ存在した場合、一番外側にあるマスならばどこにでもぴったり止め
ることができます。
外周を2つのストーンが周回するイメージです。
BA
B
A
B
A
B A
AB
A
B
A
B
A B
A B
A
B
A
B
AB
AB
A
B
A
B
A B
A B
A
B
A
B
AB
AB
A
B
A
B
A B
A B
A
B
A
B
AB
説明
ではこれから、具体的にどうすればよいのかを図を用いて説明したいと思います。
A B C
★
A B C
ストーンAを左上に固定して、ス
トーンB,Cを赤いマスの上で半時計
回りに動かしていきます。
そして、ストーンBかCを、★のマス
に止めます。
★
A
C
B
今回はCをゴールと同じ行か
つ外側から2つ目のマスに止
めたことにします。
そうしたらこんどは、
AとBを一番外側のマスの上で
動かして、Cと同じ行かつ、Cと
は反対側のマスに止めます。
(★のマスのことです )
★AC
B
今回は、AがCと同じ行に止
まったことにします。
★AC
B
Aを左に打ち出します。
AC
B
★AC
B
あとは、先ほどと同じように
★のマスの上にストーンを置
いてはそれを左に打ち出すこ
とを繰り返すだけです。
説明
ストーンが4つ以上存在しても問題はありません。
蟻本の最初のほうにある、蟻がすれちがう問題と
似たようなことをイメージすればよいです。
講評
AC数 ÷ 提出数 = 1÷7 = 0.1429 … (14%)
First AC
tomerun さん 143分
テスター
dohatsu 69行
sate 74行
kzyKT 39行
haji 59行
kawabys 48行
uku 66行
Upcoming SlideShare
Loading in …5
×

F : 解説

ACPC2014 F問題解説

  • Login to see the comments

  • Be the first to like this

F : 解説

  1. 1. Problem F: Curling Puzzle 怒髪@dohatsutsu
  2. 2. 問題概要 カーリングのストーンを移動させて、ゴール地点にぴったりストーンを止めるパズルゲー ムがあるので、そのパズルがクリア可能かどうかを求める。 詳しい内容は、問題文を参照してください。
  3. 3. H=1 または W=1 の場合 状態が2^(H*W)程度しかないので、幅優先探索で答えを求めることができます。
  4. 4. ストーンの数が2個以下の場合 状態が(H*W)^2 程度しかないので、これも幅優先探索で答えを求めることができます。
  5. 5. どちらでもなかった場合 ストーンが3つ以上存在して、H>1かつW>1ならば、実は必ずクリアできます。
  6. 6. 説明 まず、ストーンが2つ存在した場合、一番外側にあるマスならばどこにでもぴったり止め ることができます。 外周を2つのストーンが周回するイメージです。
  7. 7. BA
  8. 8. B A
  9. 9. B A
  10. 10. B A
  11. 11. AB
  12. 12. A B
  13. 13. A B
  14. 14. A B
  15. 15. A B
  16. 16. A B
  17. 17. A B
  18. 18. AB
  19. 19. AB
  20. 20. A B
  21. 21. A B
  22. 22. A B
  23. 23. A B
  24. 24. A B
  25. 25. A B
  26. 26. AB
  27. 27. AB
  28. 28. A B
  29. 29. A B
  30. 30. A B
  31. 31. A B
  32. 32. A B
  33. 33. A B
  34. 34. AB
  35. 35. 説明 ではこれから、具体的にどうすればよいのかを図を用いて説明したいと思います。
  36. 36. A B C
  37. 37. ★ A B C ストーンAを左上に固定して、ス トーンB,Cを赤いマスの上で半時計 回りに動かしていきます。 そして、ストーンBかCを、★のマス に止めます。
  38. 38. ★ A C B 今回はCをゴールと同じ行か つ外側から2つ目のマスに止 めたことにします。 そうしたらこんどは、 AとBを一番外側のマスの上で 動かして、Cと同じ行かつ、Cと は反対側のマスに止めます。 (★のマスのことです )
  39. 39. ★AC B 今回は、AがCと同じ行に止 まったことにします。
  40. 40. ★AC B Aを左に打ち出します。
  41. 41. AC B
  42. 42. ★AC B あとは、先ほどと同じように ★のマスの上にストーンを置 いてはそれを左に打ち出すこ とを繰り返すだけです。
  43. 43. 説明 ストーンが4つ以上存在しても問題はありません。 蟻本の最初のほうにある、蟻がすれちがう問題と 似たようなことをイメージすればよいです。
  44. 44. 講評 AC数 ÷ 提出数 = 1÷7 = 0.1429 … (14%) First AC tomerun さん 143分
  45. 45. テスター dohatsu 69行 sate 74行 kzyKT 39行 haji 59行 kawabys 48行 uku 66行

×