パズルを出題しあうスレ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/07/21(金) 19:10:18みんなで楽しくアルゴリズムを考えましょう。
0002デフォルトの名無しさん
2006/07/21(金) 19:13:5000031
2006/07/21(金) 19:24:30ネズミが一匹、無限の広さをもつ碁盤の上に居る。
プレーヤーは一ターンの間にネズミの居ない任意の座標にブロックを一つおくことができる。
ネズミは一ターンの間に上下左右のいずれかの方向に一歩動くことができる。
ただし、ブロックのある座標には移動できない。
ネズミの四方がブロックで囲まれ、一歩も動けない状態になればプレーヤーの勝ち。
ネズミがいつまでも逃げることができればネズミの勝ち。
プレイヤーの先行として、ゲームはどちらが勝つか。
このゲームはプレイヤーが勝つことが数学板で証明されていたので
最短手数を求めてください。
00041
2006/07/21(金) 19:27:3500051
2006/07/21(金) 21:40:58n個の異なる文字を並べてできる長さnの文字列を考える。
このような文字列はn!個あるがこのn!個の文字列を
一列に並べ、隣り合う文字列がちょうど2文字だけ異なるように
するアルゴリズムを作れ。
たとえば3文字なら
abc
acb
bca
bac
cab
cba
と並べれば隣り合う文字列がちょうど2文字違うようになります。
0006デフォルトの名無しさん
2006/07/22(土) 00:05:28それって任意のnに対して可能なの?
0007デフォルトの名無しさん
2006/07/22(土) 02:33:580008デフォルトの名無しさん
2006/07/22(土) 04:39:25意味が分からん
0009デフォルトの名無しさん
2006/07/22(土) 04:46:26abcd
abdc
acbd ↑ ここがだめ
acdb
adbc ↑ ここがだめ
adcb
bacd ↑ ここがだめ
badc
bcad ↑ ここがだめ
bcda
bdac ↑ ここがだめ
bdca
cabd ↑ ここがだめ
cadb
cbad ↑ ここがだめ
cbda
cdab ↑ ここがだめ
cdba
dabc ↑ ここがだめ
dacb
dbac ↑ ここがだめ
dbca
dcab ↑ ここがだめ
dcba
こういう意味か
確かにグレイコードで置き換えたらうまくいくと思う
0010デフォルトの名無しさん
2006/07/22(土) 14:57:08計算時間?しらね。
0011デフォルトの名無しさん
2006/07/22(土) 15:54:30#include <stdio.h>
#include <string>
using namespace std;
int factorial(int i) {
if(i==0) {
return 1;
}
else if(i>0) {
return i*factorial(i-1);
}
else {
exit(1);
}
}
void main() {
int i,n;
string s;
char t;
printf("enter the number of sequence\n");
scanf("%d",&n);
for(i=0;i<n;i++) s+=(char)(i+'a');
for(i=0;i<factorial(n);i++) {
printf("%d: %s\n",i,s.c_str());
t=s[i%n]; s[i%n]=s[(i+1)%n]; s[(i+1)%n]=t;
}
}
0012デフォルトの名無しさん
2006/07/22(土) 16:13:31http://yoshimaruxxx.web.fc2.com/sentunagi.html
0013デフォルトの名無しさん
2006/07/22(土) 16:28:00実行してみたけど重複する文字列があるみたい。
0014デフォルトの名無しさん
2006/07/22(土) 16:34:32交換だけで階乗が出せればかなり有名になっているはずだから、スマートな解法はないと思う。
0015デフォルトの名無しさん
2006/07/22(土) 16:41:16階乗を出すってどういうこと?
0016デフォルトの名無しさん
2006/07/22(土) 17:06:32という事で、順列を交換だけで出せるのって話です。
0017デフォルトの名無しさん
2006/07/22(土) 17:12:59ハミルトン閉路問題に帰着される。
辺の数は結構多いし、ハミルトン閉路はありそうにも思えるがさて。
0018デフォルトの名無しさん
2006/07/22(土) 17:29:42結局しらみつぶしと同じ予感。
0019デフォルトの名無しさん
2006/07/22(土) 17:45:15しらみつぶしの計算量は(n!)!なんだから全然違う。
0020デフォルトの名無しさん
2006/07/22(土) 18:10:520021デフォルトの名無しさん
2006/07/22(土) 20:13:02出力をひとまとめで一処理なんておかしいよ。
0022デフォルトの名無しさん
2006/07/22(土) 21:07:220023デフォルトの名無しさん
2006/07/22(土) 23:37:12/: : : : へ._ : : : :へ、: : : \
__,く;へ_: : :| : : : : : : : \ ̄:ヽ、\
. /:__/: : :/: : |: :l: : : : : : : : \.: :ヽ: ヽ
/_//: : :/: / :|: l: : :ヽ: ヽ: : : : ヽ: : ヽハ
//: /: : : : : |: : l: : |: : |: : ヽ: :ヽ: : ヽ: : : : : : :ヽ: : ヽハ
. /:/: /: /: l: |: :,|: : ハ: : |: : : ヽ: :ヽ: : ヽ: : : : : : :ヽ : ヽ|
//: : l: :l: ::|: :|: :|: : :| ヽ lヽ : : :\: ヽ.: :\: : : ヽ:ハ: : : |
| l: : |: :|: : |: :|: ハ__,L. ヽ \" ̄「 T ト- 、;_: : : : :|: : :.|
| |: : |: :|: : |: ;|イ「 ヽ| \´\ヽ __」__i.\ \ : : |: : :| もう・・・仕方の無いことばかり言って・・・
| |: : |: :|: : くv' _」=i ヽ /「 i::::::o「\|ヽト: |: :/|
i l: : ハ: l: : :.ト / {:::::::〉 レヘ:.::::}゚i|/|: ::| .}レ': :|
∨:| Vヘ: ::ヘヽ vヘ:ハ ..く_二iつ|: :.:レ: :| : :|
ヽヽ∨へ:ハ ヾツ ////ハ:/::|: :|: : :|
∧: :i:ヘ.l // ` /: {:::::|: :l: : ハ
/:/: ∧: \ 。 ,.イ:|: :|::i:::|: :l: ::∧
//: : :}: ヽ`i:: 、. / .|::| :|:::i::::|: i:: : ∧
://: : : ハ: ヽ::::::ノT ' ‐ ' |::|: :V::::i∧: : : : ヘ
//: : ノ二 ヽ: :\ 〈ー 、 _____,トヘ: :∨::i::∧: : : :.∧
//:/ /⌒ \ ヽト、: :ヽ\_______ハ \:∨ハ:::∧: : : :} \
0024デフォルトの名無しさん
2006/07/23(日) 00:17:11ネズミの問題は23手詰めと出た。この手順はピンとこないけど、うまく収束している。
┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼●┼ ┼┼┼●┼ ┼┼┼●┼
┼┼┼┼┼ ┼┼●┼┼ ┼┼●○┼ ┼┼●○┼ ┼┼●┼┼ ┼┼●┼┼
┼┼┼○┼ ┼┼┼○┼ ┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼○┼ ┼┼┼○┼
┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼┼●
┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼┼┼
┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼┼┼
┼┼┼●┼ ┼┼┼●┼ ┼┼┼●┼ ┼┼┼●┼ ┼┼┼●┼ ┼┼┼●┼
┼┼●┼┼ ┼┼●┼┼ ┼┼●┼┼ ┼┼●●┼ ┼┼●●┼ ┼┼●●┼
┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼○┼ ┼┼┼○┼ ┼┼○┼┼ ┼●○┼┼
┼┼┼○● ┼┼┼○● ┼┼┼┼● ┼┼┼┼● ┼┼┼┼● ┼┼┼┼●
┼┼┼┼┼ ┼┼┼●┼ ┼┼┼●┼ ┼┼┼●┼ ┼┼┼●┼ ┼┼┼●┼
┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼┼┼
┼┼┼●┼ ┼┼┼●┼ ┼┼┼●┼ ┼┼┼●┼ ┼┼┼●┼ ┼┼┼●┼
┼┼●●┼ ┼┼●●┼ ┼┼●●┼ ┼┼●●┼ ┼┼●●┼ ┼┼●●┼
┼●┼┼┼ ┼●┼┼┼ ┼●┼┼┼ ┼●┼┼┼ ┼●┼┼┼ ┼●●┼┼
┼┼○┼● ┼┼○┼● ┼┼┼┼● ┼┼┼┼● ┼┼○┼● ┼┼○┼●
┼┼┼●┼ ┼●┼●┼ ┼●○●┼ ┼●○●┼ ┼●┼●┼ ┼●┼●┼
┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼┼┼ ┼┼●┼┼ ┼┼●┼┼ ┼┼●┼┼
┼┼┼●┼ ┼┼┼●┼ ┼┼┼●┼ ┼┼┼●┼ ┼┼┼●┼ ┼┼┼●┼
┼┼●●┼ ┼┼●●┼ ┼┼●●┼ ┼┼●●┼ ┼┼●●┼ ┼┼●●┼
┼●●┼┼ ┼●●┼┼ ┼●●┼┼ ┼●●●┼ ┼●●●┼ ┼●●●┼
┼○┼┼● ●○┼┼● ●┼○┼● ●┼○┼● ●┼┼┼● ●┼●┼●
┼●┼●┼ ┼●┼●┼ ┼●┼●┼ ┼●┼●┼ ┼●○●┼ ┼●○●┼
┼┼●┼┼ ┼┼●┼┼ ┼┼●┼┼ ┼┼●┼┼ ┼┼●┼┼ ┼┼●┼┼
0025デフォルトの名無しさん
2006/07/23(日) 00:22:09ただし、ブロックの置き方はネズミの八方のみしか探索していないので。
0026デフォルトの名無しさん
2006/07/23(日) 02:40:480027デフォルトの名無しさん
2006/07/23(日) 09:05:40たとえば入力を2,3,3としたら以下のような文字を出力してくれるような。
言葉ではうまく言えないが全ての組み合わせを生成してくれるやつ。
○、○、○、○、○、○、○、○、○、 、 、 、 、 、 、 、 、
、 、 、 、 、 、 、 、 、○、○、○、○、○、○、○、○、○
○、○、○、 、 、 、 、 、 、○、○、○、 、 、 、 、 、
、 、 、○、○、○、 、 、 、 、 、 、○、○、○、 、 、
、 、 、 、 、 、○、○、○、 、 、 、 、 、 、○、○、○
○、 、 、○、 、 、○、 、 、○、 、 、○、 、 、○、 、
、○、 、 、○、 、 、○、 、 、○、 、 、○、 、 、○、
、 、○、 、 、○、 、 、○、 、 、○、 、 、○、 、 、○
002827
2006/07/23(日) 09:07:13でも雰囲気はわかるよね。
0030デフォルトの名無しさん
2006/07/23(日) 09:25:34それ、探索にどのくらい時間かかるんだ?
ネズミの移動方向を入力できるようにして up してくれよ。
面白いゲームになりそうじゃね?w
0031デフォルトの名無しさん
2006/07/23(日) 09:26:21┼┼┼┼┼ ┼┼●┼┼ ┼┼●┼┼
┼┼┼○┼ ┼┼┼○┼ ┼┼┼┼┼
┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼○┼
┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼┼┼
┼┼┼┼┼ ┼┼┼┼┼ ┼┼┼┼┼
脱出成功
0033デフォルトの名無しさん
2006/07/23(日) 09:38:49┼┼┼┼┼ ┼┼┼┼┼
●○┼┼┼ ●┼○┼┼
┼┼┼┼┼ ┼┼┼┼┼
┼┼┼┼┼ ┼┼┼┼┼
┼┼┼┼┼ ┼┼┼┼┼
003424
2006/07/23(日) 09:40:46Javaで書いてしまいましたが、1時間ぐらいで解けました。
3手目
┼┼┼┼┼
┼┼┼●┼
●┼○┼┼
┼┼┼┼┼
┼┼┼┼┼
┼┼┼┼┼
書き込みを楽にする為、最後の局面のみにしましょう。
0035デフォルトの名無しさん
2006/07/23(日) 09:43:10┼┼┼●┼
●┼┼┼┼
┼┼○┼┼
┼┼┼┼┼
┼┼┼┼┼
でもさ、>>31 のが時間かかるってことは23手で詰まないっていう意味じゃないの?
003624
2006/07/23(日) 09:44:12┼┼┼┼┼
┼┼┼●┼
●┼┼┼┼
┼┼○┼┼
┼┼●┼┼
┼┼┼┼┼
いえ、探索に時間がかかります。
0037デフォルトの名無しさん
2006/07/23(日) 09:44:340038デフォルトの名無しさん
2006/07/23(日) 09:45:22┼┼┼●┼
●┼┼┼┼
┼┼┼○┼
┼┼●┼┼
┼┼┼┼┼
ジダンの華麗なダンス炸裂してほしい
0039デフォルトの名無しさん
2006/07/23(日) 09:46:221時間は長いな。
最初の数手をテーブルにしたらインタラクティブな待ち時間にならんかな。
ネズミ側だけでいいんだけど。
0040デフォルトの名無しさん
2006/07/23(日) 09:46:54004124
2006/07/23(日) 09:47:04┼┼┼┼┼
┼┼┼●┼
●┼┼┼┼
┼┼┼○┼
┼┼●┼●
┼┼┼┼┼
じつは4手目は最善手ではありません。
0042デフォルトの名無しさん
2006/07/23(日) 09:48:230043デフォルトの名無しさん
2006/07/23(日) 09:51:10ネズミは曲がるとかなり手数損しそうですね
┼┼┼┼┼
┼┼┼●┼
●┼┼┼┼
┼┼┼┼┼
┼┼●┼●
┼┼┼○┼
ジダン突破
0044デフォルトの名無しさん
2006/07/23(日) 10:00:19┼┼┼┼┼
┼┼┼●┼
●┼┼○┼
┼┼┼┼┼
┼┼┼┼┼
┼┼┼┼┼
0046デフォルトの名無しさん
2006/07/23(日) 10:06:14┼┼┼┼┼
┼┼┼●┼
●○┼┼┼
┼┼┼┼┼
┼┼┼┼┼
┼┼┼┼┼
0048デフォルトの名無しさん
2006/07/23(日) 10:08:11┼┼┼┼┼
┼┼┼●○
●┼┼┼●
┼┼┼┼┼
┼┼┼┼┼
┼┼┼┼┼
004924
2006/07/23(日) 10:08:53┼┼┼┼┼
┼┼┼●┼
●○┼┼┼
┼●┼┼┼
┼┼┼┼┼
┼┼┼┼┼
0050デフォルトの名無しさん
2006/07/23(日) 10:11:27┼┼┼●┼
●┼┼┼●
┼┼┼○┼
┼┼┼┼┼
┼┼┼┼┼
005124
2006/07/23(日) 10:12:54┼┼┼┼┼
┼┼┼●┼
●┼┼┼●
┼┼┼○┼
┼┼┼●┼
┼┼┼┼┼
0052デフォルトの名無しさん
2006/07/23(日) 10:28:22┼┼┼●┼
●┼┼┼●
┼┼┼┼○
┼┼┼●┼
┼┼┼┼┼
005324
2006/07/23(日) 10:38:19┼┼┼●┼┼┼ ┼┼┼●┼┼┼ ┼┼┼●┼┼┼ ┼┼┼●┼┼┼
●┼┼┼●┼┼ ●┼┼┼●┼┼ ●┼┼┼●┼┼ ●┼┼┼●┼┼
┼┼┼┼○┼┼ ┼┼┼┼○┼┼ ┼┼┼┼┼○┼ ┼┼┼┼┼○●
┼┼┼●┼┼┼ ┼┼┼●┼●┼ ┼┼┼●┼●┼ ┼┼┼●┼●┼
┼┼┼┼┼┼┼ ┼┼┼┼┼┼┼ ┼┼┼┼┼┼┼ ┼┼┼┼┼●┼
┼┼┼●┼┼┼ ┼┼┼●┼┼● ┼┼┼●┼○● ┼┼┼●┼○●
●┼┼┼●○┼ ●┼┼┼●○┼ ●┼┼┼●┼┼ ●┼┼┼●┼┼
┼┼┼┼┼┼● ┼┼┼┼┼┼● ┼┼┼┼┼┼● ┼┼┼┼┼┼●
┼┼┼●┼●┼ ┼┼┼●┼●┼ ┼┼┼●┼●┼ ┼┼┼●┼●┼
┼┼┼┼┼●┼ ┼┼┼┼┼●┼ ┼┼┼┼┼●┼ ┼┼┼┼┼●┼
┼┼┼●┼┼● ┼┼┼●●┼● ┼┼┼●●┼● ┼┼┼●●┼●
●┼┼┼●○┼ ●┼┼┼●○┼ ●┼┼┼●┼┼ ●┼┼┼●┼┼
┼┼┼┼┼┼● ┼┼┼┼┼┼● ┼┼┼┼┼○● ┼┼┼┼●○●
┼┼┼●┼●┼ ┼┼┼●┼●┼ ┼┼┼●┼●┼ ┼┼┼●┼●┼
┼┼┼┼┼●┼ ┼┼┼┼┼●┼ ┼┼┼┼┼●┼ ┼┼┼┼┼●┼
┼┼┼●●┼● ┼┼┼●●┼● ┼┼┼●●○● ┼┼┼●●○●
●┼┼┼●○┼ ●┼┼┼●○● ●┼┼┼●┼● ●┼┼┼●●●
┼┼┼┼●┼● ┼┼┼┼●┼● ┼┼┼┼●┼● ┼┼┼┼●┼●
┼┼┼●┼●┼ ┼┼┼●┼●┼ ┼┼┼●┼●┼ ┼┼┼●┼●┼
これで終わりにします。ちょいとでしゃばりすぎた感がありますので
0054デフォルトの名無しさん
2006/07/23(日) 11:03:330055デフォルトの名無しさん
2006/07/23(日) 11:05:27意味が分からないんですけど
解説してください
005627
2006/07/23(日) 11:44:04テストというのは入力がいくつかあってその選択肢の組み合わせを考える。
>>27の例は入力が3つあって、一番目は選択肢が2つ、2番目、3番目は選択肢が3つあると思って。
で、1行目、2行目は一番目の入力の選択肢をどちらを選ぶかを表している。
3,4,5行目は2番目の入力の選択肢のうちどれを選ぶかを表している。
6,7,8行目は3番目の入力の選択肢のうちどれを選ぶかを表している。
各列はひとつのテストケースを表している。
たとえば一行目は一番目の入力=1、2番目の入力=1、3番目の入力=1
5行目は一番目の入力=1、2番目の入力=2、3番目の入力=2といった感じ。
で、選択肢の組み合わせを網羅的に生成してほしい。出力は>>27のフォーマットで。
うまく説明できたかわからんがこんな感じです。
0057デフォルトの名無しさん
2006/07/23(日) 16:32:42こんなんでいいかな、
http://www.uploda.org/uporg455626.cpp.html
>>27は1列ごとにテストケース1パターンを表してるようだけど、
それもフォーマット?
めんどいから、1行1ケース表示にしたけど。
つか、パズルじゃないだろ
0058デフォルトの名無しさん
2006/07/23(日) 16:35:530059デフォルトの名無しさん
2006/07/23(日) 16:37:40http://www.uploda.org/uporg455638.cpp.html
006027
2006/07/23(日) 16:47:41そのほうが何かとありがたいんですが。
0061デフォルトの名無しさん
2006/07/23(日) 16:49:19主語や目的語を省略しすぎなんだよ
自分だけが分かってて相手が分かってないときに説明するんだから
0063デフォルトの名無しさん
2006/07/23(日) 17:03:17どうなんだろ。
0064デフォルトの名無しさん
2006/07/23(日) 18:05:30それじゃパズルとして綺麗じゃないような気がする(移動距離が長いものと短いものがあってイヤ)
どうせならヘックスでやってみるとおもしろいかもしれない。
0065デフォルトの名無しさん
2006/07/23(日) 18:24:241列1テストケースにしたよ。
http://www.uploda.org/uporg455761.cpp.html
ところで、どうしてここで質問?質問スレ行くといいよ。
0067デフォルトの名無しさん
2006/07/23(日) 18:31:130068デフォルトの名無しさん
2006/07/23(日) 18:34:46HEXのねずみ捕り面白そうだけど
ここで表現するの自体が難しそう
0069デフォルトの名無しさん
2006/07/23(日) 19:22:03アルゴリズムってできないでしょうか?
3手で正解を得られるようなんですが。
難しくてサパーリわからん。
0070デフォルトの名無しさん
2006/07/23(日) 19:29:060071デフォルトの名無しさん
2006/07/23(日) 19:53:080072デフォルトの名無しさん
2006/07/23(日) 22:11:20○○○
○○○
123
456
789
場所 1
数字 9
0073デフォルトの名無しさん
2006/07/23(日) 22:14:37456
123
場所 1
数字 9
0074デフォルトの名無しさん
2006/07/23(日) 22:15:38654
321
場所 4
数字 9
0075デフォルトの名無しさん
2006/07/23(日) 22:17:46645
312
場所 8
数字 9
0076デフォルトの名無しさん
2006/07/23(日) 22:18:440077デフォルトの名無しさん
2006/07/23(日) 22:25:33○++○++○++○++○++
++○++○++○++○++
○++○++○++○++○++
++○++○++○++○++
○++○++○++○++○++
++○++○++○++○++
○++○++○++○++○++
++○++○++○++○++
○++○++○++○++○++
++○++○++○++○++
○++○++○++○++○++
++○++○++○++○++
HEXなってないかな・・・
0078デフォルトの名無しさん
2006/07/23(日) 23:38:460079デフォルトの名無しさん
2006/07/23(日) 23:53:55++ ++ ++ ++ ++ ++
++ ++ ++ ++ ++
++ ++ ++ ++ ++ ++
++ ++ ++ ++ ++
++ ++ ++ ++ ++ ++
++ ++ ++ ++ ++
++ ++ ++ ++ ++ ++
++ ++ ++ ++ ++
++ ++ ++ ++ ++ ++
++ ++ ++ ++ ++
++ ++ ++ ++ ++ ++
++ ++ ++ ++ ++
++ ++ ++ ++ ++ ++
++ ++ ++ ++ ++
++ ++ ++ ++ ++ ++
++ ++ ++ ++ ++
++ ++ ++ ++ ++ ++
どぞ
0080デフォルトの名無しさん
2006/07/24(月) 07:13:27http://game9.2ch.net/test/read.cgi/gamestones/1071768398/l50
_____┌─┬─┬─┬─┬─┬─┐
_____| | | | | | |
____┌┴┬┴┬┴┬┴┬┴┬┴┬┴┐
____| | | | | | | |
___┌┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┐
___| | | | | | | | |
__┌┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┐
__| | | | | | | | | |
_┌┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┐
_| | | | | | | | | | |
┌┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┐
| | | | | |○| | | | | |
└┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┘
_| | | | | |●| | | | |
_└┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┘
__| | | | | | | | | |
__└┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┘
___| | | | | | | | |
___└┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┘
____| | | | | | | |
____└┬┴┬┴┬┴┬┴┬┴┬┴┬┘
_____| | | | | | |
_____└─┴─┴─┴─┴─┴─┘
0081デフォルトの名無しさん
2006/07/24(月) 07:34:18_____| | | | | | |
____┌┴┬┴┬┴┬┴┬┴┬┴┬┴┐
____| | | | | | | |
___┌┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┐
___| | | | | | | | |
__┌┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┐
__| | | | | | | | | |
_┌┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┐
_| | | | |○| | | | | |
┌┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┐
| | | | | | | | | | | |
└┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┘
_| | | | | |●| | | | |
_└┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┘
__| | | | | | | | | |
__└┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┘
___| | | | | | | | |
___└┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┘
____| | | | | | | |
____└┬┴┬┴┬┴┬┴┬┴┬┴┬┘
_____| | | | | | |
_____└─┴─┴─┴─┴─┴─┘
0082デフォルトの名無しさん
2006/07/24(月) 13:34:38_____| | | | | | |
____┌┴┬┴┬┴┬┴┬┴┬┴┬┴┐
____| | | | | | | |
___┌┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┐
___| | | | | | | | |
__┌┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┐
__| | | |●| | | | | |
_┌┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┐
_| | | | |○| | | | | |
┌┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┐
| | | | | | | | | | | |
└┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┘
_| | | | | |●| | | | |
_└┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┘
__| | | | | | | | | |
__└┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┘
___| | | | | | | | |
___└┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┘
____| | | | | | | |
____└┬┴┬┴┬┴┬┴┬┴┬┴┬┘
_____| | | | | | |
_____└─┴─┴─┴─┴─┴─┘
0083デフォルトの名無しさん
2006/07/24(月) 13:36:110084デフォルトの名無しさん
2006/07/24(月) 17:49:240085デフォルトの名無しさん
2006/07/25(火) 02:00:43盤面の左下のマスを [0,0] とし、はじめ [3,3] に置いてある色のプレイヤーが先攻とする。
ゲームの推移の記法は [3,5] [4,6] ... とする。
・・・こういうのはパズルとは言わないかも
0086デフォルトの名無しさん
2006/07/25(火) 02:08:54こんなかんじか。
http://www.uploda.org/uporg457304.cpp.html
この問題って、始めの文字列と終わりの文字列も「ちょうど2文字だけ異なる」っていう条件を満たさなければならない?
多分可能だが、まだやっていない。
0087デフォルトの名無しさん
2006/07/25(火) 03:06:56グレイコードから作る方法なら満たせるでしょう
0088デフォルトの名無しさん
2006/07/25(火) 16:28:49NP問題の予感
0089デフォルトの名無しさん
2006/07/25(火) 18:05:540090デフォルトの名無しさん
2006/07/25(火) 18:08:35むしろPSPACE問題の予感。
0091デフォルトの名無しさん
2006/07/25(火) 18:17:48普通の表の片方の斜めだけに進めるようにする。
■■□
■☆■
□■■
■:進めるマス
□:進めないマス
0092デフォルトの名無しさん
2006/07/25(火) 18:19:40-■☆■
□■■
表示はこう
009390
2006/07/25(火) 20:35:070094デフォルトの名無しさん
2006/07/25(火) 21:36:03なかなか手ごわい。
0095デフォルトの名無しさん
2006/07/26(水) 02:21:43感動した
0096デフォルトの名無しさん
2006/07/26(水) 09:07:41最初と最後を合わせなくていいのなら
#!perl
$max=shift||die"pls spec len\n";$max<1&&die"too small len\n";
($len,@list,@old,$newchar)=(1,'a');
while($len++<$max){($n,@old,@list)=(chr(0x60+$len),@list);
for($i=length($old[0]);$i>=0;--$i){
for(@old){$v=$_;substr($v,$i,0,$n);push@list,$v;}
@old=reverse@old;}}print"$_\n"for@list;
0097デフォルトの名無しさん
2006/07/26(水) 17:19:440098デフォルトの名無しさん
2006/07/26(水) 17:29:01一応、始めと終わりもつなぐようにはできたが。。。
http://www.uploda.org/uporg458911.cpp.html
まず単純な並びをつくって、規則性のある並びに並び替える。
文字数n=4なら
00:abcd 06:bacd 12:cabd 18:dabc
01:abdc 07:badc 13:cadb 19:dacb
02:acbd 08:bcad 14:cbad 20:dbac
03:acdb 09:bcda 15:cbda 21:dbca
04:adbc 10:bdac 16:cdab 22:dcab
05:adcb 11:bdca 17:cdba 23:dcba
という並びから、
00:abcd 01:bacd 02:cabd 03:dabc
04:abdc 05:badc 06:cadb 07:dacb
08:acbd 09:bcad 10:cbad 11:dbac
12:acdb 13:bcda 14:cbda 15:dbca
16:adbc 17:bdac 18:cdab 19:dcab
20:adcb 21:bdca 22:cdba 23:dcba
という並びにする。このとき横の並びは互いに2文字異なっている。
次に00の行、04の行・・・20の行を互いに2文字異なるように並び替えるために、
先頭の'a'を除いて、n=3の時を応用する。
あと適当にreverseする。
グレイ符号のやり方は知らん
0099デフォルトの名無しさん
2006/07/26(水) 23:08:13なってないですよ?
0100デフォルトの名無しさん
2006/07/27(木) 02:48:41「互いに2文字異なっている」に「なってないですよ?」と言いたいのかな?
01:bacd
02:cabd
b,cを入れ替えた2文字違いだね。
ソースみると検算までしてるみたいだし、いいんでは。
5文字の時になんで始めと終わりが揃うのかフシギ
0101デフォルトの名無しさん
2006/07/27(木) 05:09:13A) 00:abcd 06:bacd 12:cabd 18:dabc
B) 01:abdc 07:badc 13:cadb 19:dacb
C) 02:acbd 08:bcad 14:cbad 20:dbac
D) 03:acdb 09:bcda 15:cbda 21:dbca
E) 04:adbc 10:bdac 16:cdab 22:dcab
F) 05:adcb 11:bdca 17:cdba 23:dcba
番号を付け替える必要性は良く分からないのですが、
縦方向から横方向にスキャンを変える発想はよさそうですね。
さらに、
A) を左から右
C) を右から左
E) を左から右
B) を右から左
D) を左から右
F) を右から左
で A) に戻ればうまく循環できますね。
横方向に左右逆転しながら1行とびにスキャンすると循環という
規則性ありそうです。
0102デフォルトの名無しさん
2006/07/27(木) 05:18:021)0001 9)1001
2)0010 A)1010
3)0011 B)1011
4)0100 C)1100
5)0101 D)1101
6)0110 E)1110
7)0111 F)1111
0) -> 8) -> C) -> 4) -> 6) -> E) -> A) -> 2) -> 3) -> B) -> F) -> 7) -> 5) -> D) -> 9) -> 1) ->
とかで戻ってこれるのですが
これでグレイコードになってるのかどうか不明
0103デフォルトの名無しさん
2006/07/27(木) 05:35:00の方が規則性あるかな
0104デフォルトの名無しさん
2006/07/28(金) 18:32:45エレガントな解法があるのかどうかは知りません。
0105デフォルトの名無しさん
2006/07/28(金) 18:39:420106デフォルトの名無しさん
2006/07/28(金) 19:11:130107デフォルトの名無しさん
2006/07/28(金) 23:07:030108デフォルトの名無しさん
2006/07/29(土) 00:17:47詳しく。
0109デフォルトの名無しさん
2006/07/29(土) 01:07:55ノードの連結=マスの隣接 → 塗りつぶしで区分け可能
0110デフォルトの名無しさん
2006/07/29(土) 06:36:220111デフォルトの名無しさん
2006/07/29(土) 06:44:410112デフォルトの名無しさん
2006/07/29(土) 11:35:21乞食は死ね
0113デフォルトの名無しさん
2006/07/29(土) 14:28:25それ何てパズル?
0114デフォルトの名無しさん
2006/07/29(土) 21:35:32数学板でやってた。
0115デフォルトの名無しさん
2006/07/29(土) 22:42:070116デフォルトの名無しさん
2006/07/29(土) 23:10:13+) MORE
----------
MONEY
0117デフォルトの名無しさん
2006/07/29(土) 23:24:22FIVE + SEVEN + ELEVEN + TWELVE + FIFTEEN + TWENTY = SEVENTY
0118デフォルトの名無しさん
2006/07/29(土) 23:40:49語呂合わせにはなってないけど、A*BCDE=FGHIJを解く方が(個人的には)余程面白い。
0119デフォルトの名無しさん
2006/07/29(土) 23:41:120121デフォルトの名無しさん
2006/07/29(土) 23:55:330122デフォルトの名無しさん
2006/07/29(土) 23:57:090123118
2006/07/30(日) 01:28:13例えば、SEND+MORE=MONEYだとS=9, M=1から始まって式を展開していけばすぐに求まってしまうから。
#まぁ、笑う前にやって味噌。
0124デフォルトの名無しさん
2006/07/30(日) 03:40:290125デフォルトの名無しさん
2006/07/30(日) 05:12:590126デフォルトの名無しさん
2006/07/30(日) 11:39:000127デフォルトの名無しさん
2006/07/30(日) 18:12:300128デフォルトの名無しさん
2006/08/10(木) 21:49:28空いてる枡を─│└┘┌┐のいずれかで埋めて
全パターンやれば解けそう。
バックトラックでどこまで計算量削れるか?
0129デフォルトの名無しさん
2006/08/11(金) 09:21:09下のスレでそれを解くプログラムが既に作られている。
【解答】パズルのプログラミング【作成】
http://hobby8.2ch.net/test/read.cgi/puzzle/1092459010/
0130デフォルトの名無しさん
2006/10/25(水) 21:04:39> ポインタをインクリメント
< ポインタをデクリメント
+ ポインタが示すメモリ位置のデータをインクリメント
- ポインタが示すメモリ位置のデータをデクリメント
. ポインタが示すメモリ位置のデータを出力
, ポインタが示すメモリ位置のデータに入力
[ ポインタが示すメモリ位置のデータがヌルなら対応する]までジャンプ
] ポインタが示すメモリ位置のデータがヌルじゃないなら対応する[までジャンプ
@n (nは整数)ポインタをn番地に設定
BrainFuckのスレ
http://pc8.2ch.net/test/read.cgi/tech/1036013915/l50
0131デフォルトの名無しさん
2006/10/31(火) 20:58:56そのうちのM個の点を頂点とする多角形の取りうる最大面積の値を求めよ。
仕様:
入力データは、最初の行はNとMの値が半角空白で区切られており、
直後に単位円周上の点のX座標とY座標の値が半角空白で区切られた行がN行続く。
解は小数点以下3桁以上の精度で1行に出力。
入力例:
4 3
1.0 0.0
0.7071 0.7071
0.0 1.0
-1.0 0.0
解答例:
1.000
0132デフォルトの名無しさん
2006/10/31(火) 20:59:450133デフォルトの名無しさん
2006/11/01(水) 02:43:26超典型 DP
0134デフォルトの名無しさん
2006/11/02(木) 01:15:210135デフォルトの名無しさん
2006/11/02(木) 02:00:390136デフォルトの名無しさん
2006/11/02(木) 11:15:530137デフォルトの名無しさん
2006/11/03(金) 00:04:173*5+1=16
0138デフォルトの名無しさん
2006/11/03(金) 01:34:360139デフォルトの名無しさん
2006/11/03(金) 01:41:240140デフォルトの名無しさん
2006/11/03(金) 02:06:370141デフォルトの名無しさん
2006/11/03(金) 02:34:350142デフォルトの名無しさん
2006/11/05(日) 04:03:11(ある素数N以下の全素数の積)+1 = 左辺の素数の集合に含まれない素数
0143デフォルトの名無しさん
2006/11/08(水) 21:13:380144デフォルトの名無しさん
2006/11/09(木) 09:45:36■ このスレッドは過去ログ倉庫に格納されています