2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

【解答】パズルのプログラミング【作成】

1 :名無しさん@お腹いっぱい。:04/08/14 13:50 ID:7ki1y5sx.net

パズルの問題をプログラムで解いたり
プログラムで面を作成したりする方法を話し合うスレ。

733 :□7×7=4□□:2014/04/21(月) 18:41:21.50 ID:2FaE1dv4.net
方程式に出来たりするんですかね?
マス=??????????

有限で一意なら出来るんでしょうね。意味ないだろうけど

734 :□7×7=4□□:2014/04/21(月) 23:11:12.55 ID:HhyGC33B.net
何の言語が向いてるんだろう
LISPとか良さそうな気がするんだが

735 :725:2014/04/22(火) 19:45:45.73 ID:LQvwnui8.net
>>726
いずれは公開するつもりだったのですが
テスト用に問題を回転させるアイデアに驚いて早めました

テスト問題ですがランダムなドット絵を使い始めました
安定的に1秒程度で判別できるのは50×50黒6割で
黒が減ったり問題が大きくなると極端に遅くなります
100×100を10秒以内はまだまだ先のようです

ところでとても速いものをみつけました
ttp://sourceforge.net/projects/jsolver/
ソースが読みづらく説明もなくてアルゴリズムがわからないのが残念です

736 : 【中国電 77.3 %】 :2014/04/22(火) 22:23:07.30 ID:HN2HK1hp.net
>>735
>>724 さん
120818C.mno が確か一番時間の掛かる問題であったかと思います
しかし5年前の C2D で1秒切ってますよ
ARM(Nexus 7(2012)) だと3秒ほどで爆速過ぎます

737 :nekoppy3:2014/04/23(水) 12:47:41.73 ID:qTz728eI.net
>>735 ランダムなドット絵、そのアイデアいただきます!
僕もランダムな絵の問題作ってみます
100x100は僕の力では100秒かかります。この辺が限界ですわ、C言語で
C言語よりC++の方が向いてると思います。こういうの

738 :nekoppy3:2014/04/24(木) 09:14:40.23 ID:IGWrBaRM.net
>>735
>>737
ランダムなドット絵、裁縫のパッチワークをイメージした
元絵(131313A.mno〜131313N.mno,サイズ180x70)のイメージから
ランダムに20x20の布切れを切り取り、100x100のサイズに貼り合わせる
というもの。布切れはランダムに90度、180度回転している
昨晩、作っていた。問題がほぼ無限に作れます

739 :nekoppy3:2014/04/24(木) 09:26:34.37 ID:IGWrBaRM.net
100x100のサイズのパッチワーク風の問題のある場所

ttp://logic777.web.fc2.com/i/paw_mno140424a.zip

00001.mnoは1000秒かかりました
00002.mnoはまだ解けていません

n1=n2=0(黒と白の仮置き、どちらでもOKのとき増え方がどちらも
200ドット以下の時、リスト構造を枝刈りしてもうまくいかないです
500ドット以下の時、枝刈りにしてみます

740 :□7×7=4□□:2014/04/24(木) 12:33:42.80 ID:2Fm6dbfU.net
100*100サイズ固定で問題データの復元用の数値って作れないのかな?
データの受け渡しに便利ですよね。

741 :608:2014/04/24(木) 14:12:17.67 ID:KtiK3nHw.net
最近忙しくてコードに手をつけていません……

>>740
理屈から言えば、長さがnある部分のヒント数字は
最大n/2個(nが奇数なら(n+1)/2個)必要なので、
100x100固定なら50×100×2=10000個の数字枠が必要になります
charでも10KBは必要ですね

742 :nekoppy3:2014/04/25(金) 10:49:52.66 ID:ziNlGwWg.net
>>735 >>724さんの教えてくれた jsolverで >>739 の内容物
00001.mnoから00010.mnoをtxtにコンバートして動かしてみた

$ ./js1 00005 // mno->txt converting, original program
$ ./jsolver -n 2 00005.txt

どれも2秒もかからない

743 :nekoppy3:2014/04/25(金) 11:01:02.97 ID:ziNlGwWg.net
>>742 js1.c のある場所:

ttp://logic777.web.fc2.com/i/js1.zip

744 :nekoppy3:2014/04/25(金) 13:00:46.71 ID:ziNlGwWg.net
00001.mno トレース

No.   (X,  Y)
 1   1   1 両方OK黒から 黒863ドット白0ドットの増加分
 2   1 100 両方OK黒から 黒1669白1514
 3  98  63 両方OK黒から 黒1634白1629

3は黒でこのまま続けるが、実際はここは白が正解

 4  83 100 白のみ    黒65白2
 5  82 100 黒のみ    黒120白164
 6  79 100 黒のみ    黒164白2
 7  78 100 白のみ    黒69白0
 8  77 100 白のみ    黒47白1
 9  76 100 白のみ    黒41白1
10  75 100 白のみ    黒1220白0
11  74 100 白のみ    黒33白0

Noはこの後11から19まで進むんだけど、No10で疑問に思わなければ
(プログラム的に)1万ドットのうち黒1220ドットも動いているのに
なんで白に決めるんかと。このへんを改良できれば速くなるような気がする

745 :nekoppy3:2014/04/27(日) 10:46:46.95 ID:kJK5Dpla.net
>>740さんの意見、心に留めておきましょう。今いろいろ忙しいです。
ちょっとゆっくりやってみます

746 :□7×7=4□□:2014/04/27(日) 21:55:20.71 ID:mubuiqy6.net
Cパズルプログラミング-再帰編 > ペントミノ > 盤面の1次元配列化 をJAVAに移植中。
ポインタの++使われるときついわぁw

変換じゃなくて元から1次元配列のデータを持たせた方が楽かな。
動かんけどw

747 :□7×7=4□□:2014/04/27(日) 23:38:20.47 ID:ARwYB3LB.net
Javaなら、Cのポインタ演算をエミュレートするクラスを作っておいて
その中で一次元配列なりなんなり使って実装すればいいんじゃね

748 :608:2014/04/28(月) 00:04:30.45 ID:bgeglmxX.net
>>746-748
本当なら当該言語(今回はJava)に合わせたコードに
書き直せればいいんだけどなぁ……>ポインタの移植云々
俺?Javaはまだ勉強中で……

749 :□7×7=4□□:2014/04/28(月) 09:54:58.52 ID:1coyLXtd.net
>>740 さんの意見で作ってみた

ttp://logic777.web.fc2.com/i/paw_mnx140427.zip

ファイルの中は、mnoファイルと拡張子が.1と.2のファイル
mnxファイル、そしてmnofix.cとmnoprint.cが入っていると思います
.1と.2はイメージファイルで、.1と.2が存在して.3のファイルが存在しない時
.2を読み込みます。このファイルの実装は解析時間が578秒だったとき
578/100+1=6で拡張子が「.6」100秒置きに100秒目で「.1」、200秒目で
「.2」、300秒目で「.3」の拡張子の中断ファイルを作っていた経緯からです。

イメージファイルの書式は、盤面のデータが未確定のとき「_」、
黒は「Q」、白は「x」です。ファイルの中身はその3つと改行とEOFの5つしかありません

mnofix.cはmnoファイルとイメージファイルを読み込んで、
>>740さん用の復元用の数値のファイル.mnxを出力します

mnoファイルで
*Y10
*y001 5
で、イメージファイルが
___QQQQQxx
(未確定が3つ、黒が5つ、白が2つのとき)

mnxファイルでは
*y001 _3,5,x2

というように、数値の前に「_」や「x」が、つきます

例外的に
mnoファイルで
*Y10
*y001 0
のとき、イメージファイルは
xxxxxxxxxx  (白が10こ)になりますが、

mnxファイルでは
*y001 0
となる(?こういう仕様にしたはず、ちょっと自信がない)
いずれにしても、mnxファイルからmnoに、いつでも戻せるように
したかったです

mnoprint.cはmnxを読み込んで、実際に絵が出るかCUIで表示
*yのデータは盤面data[]に
*tのデータは盤面data2[]に
data[]とdata2[]に異常がなければ、未確定は「_」黒は「Q」白は「x」
異常があれば「E」を表示します

750 :□7×7=4□□:2014/04/29(火) 00:23:10.46 ID:SKT6Qn4J.net
>Cのポインタ演算をエミュレートするクラスを作って
なんぞそれw

再帰の引数にポインタ+1しやがって・・・・・・。どうしろとw

751 :□7×7=4□□:2014/04/29(火) 13:12:47.54 ID:w7oxn/VC.net
>>478
今更だが自己解決
って2009年かよ!書いたのw
検索すれば出てくるんでリンクはしない…

752 :□7×7=4□□:2014/04/30(水) 19:17:50.37 ID:M1dqXkiH.net
>>746
考え方だけ参考にしてプログラムはJavaで書いてあるものを読んでみたら
例えば ttp://oku.edu.mie-u.ac.jp/~okumura/java-algo/ の Tetromino.java

753 : 【中国電 74.6 %】 :2014/05/01(木) 06:23:59.03 ID:cuUObW46.net
おくぬら先生じゃないか
わろたw

754 :□7×7=4□□:2014/05/03(土) 12:38:57.17 ID:FdF1eVCj.net
リスト構造と検索再帰が理解できれば・・・・。

755 :□7×7=4□□:2014/05/18(日) 21:07:39.73 ID:sMCfOBJf.net
     ___
    /|   |
   ||. 彡⌒ミ|
   ||. (・ω・`| 誰かいる?
   ||oと.  U|
   || |(__)J|
   ||/彡 ̄ ガチャ


   彡 ⌒ ミ ♪
  (( (・ω・` ) 
♪  / ⊂ ) )) ♪
  ((( ヽつ 〈
   (_)^ヽ__)


  ♪  彡⌒ ミ
     (´・ω・彡⌒ ミ
   彡⌒ ミつ(´・ω・`) )) ♪
(( (´・ω・`) ( つ  )
   ( つ  ヽ  とノ  ♪
    〉 とノ )^(_)
   (__ノ⌒(_)

     ___
    /|   |
   || .彡⌒ ミ
   ||. (   )|
   ||oと.   |
   || |(__)J|
   ||/彡 ̄ ガチャ

756 :□7×7=4□□:2014/05/30(金) 09:16:18.37 ID:4WfnTzis.net
ある知り合いから、virtual host に接続していると書きこめない
(実際書きこめなかった)Jimのやつめ・・・

ミラー:ttp://hello.2ch.net/test/read.cgi/puzzle/1092459010/l50
ここなら書きこめるかテスト

757 :□7×7=4□□:2014/05/30(金) 10:12:17.70 ID:4WfnTzis.net
githubに貼り付けてみました

内容は、m246k.cで、biglogic_k140430a.zip と変わりませんが一応

ttps://gist.github.com/nekoppy3

758 :□7×7=4□□:2014/08/22(金) 22:28:36.54 ID:ZN257wEY.net
おながいします

http://i.imgur.com/Wv1Fx2u.jpg

1〜16までの数字を一個ずつ入れて
各線上の4つの合計が
いずれも34になるように

759 :□7×7=4□□:2014/08/23(土) 01:17:42.20 ID:GVLSUtl/.net
     13 
  1 2 3 4

  12     5
14         15
  11     6

  10 9 8 7
     16
[1,3,14,16,2,7,9,4,8,13,5,15,6,10,12,11]

760 :□7×7=4□□:2014/08/23(土) 14:57:27.93 ID:+rB8LlQn.net
au予報言氷雨デモなぜ末端ディレクター戦争指名タイ米粉ステーキ万国ニューヨークブカ牛肉直輸出制限業者議論病院雇用市議しょうゆダシマクッロスさむらいエバコラア山雪光金ガンダム風ミックドラ社員あかうんとパズ豚骨のり野菜炒めラーメン

au予報言氷雨デモなぜ末端ディレクター戦争指名タイ米粉ステーキ万国ニューヨークブカ牛肉直輸出制限業者議論病院雇用市議しょうゆダシマクッロスさむらいエバコラア山雪光金ガンダム風ミックドラ社員あかうんとパズ豚骨のり野菜炒めラーメン

au予報言氷雨デモなぜ末端ディレクター戦争指名タイ米粉ステーキ万国ニューヨークブカ牛肉直輸出制限業者議論病院雇用市議しょうゆダシマクッロスさむらいエバコラア山雪光金ガンダム風ミックドラ社員あかうんとパズ豚骨のり野菜炒めラーメン

ニンニクヤーフォー低原価スマ金土地酒気帯びNHK公的私的支出トウデン教授嘘芸人横浜名古屋遅延電池切れ福岡損保新規駐車近代ゲームシェア回収フジ政権転職提案たれ巫女ラーメン
abk公式審判漏洩安保険王なにあげてんだよ?「わー!ふーう?」↓↓★★↓↓★↓★▼★宿題通調印鑑カウントダウンたまらんだけ労災募金額休日接待ゴルフ議員国会アイスブルームハンバーグ歌舞伎派大学生

761 :片山博文MZ ◆T6xkBnTXz7B0 :2014/10/08(水) 13:19:25.58 ID:LjbFvpMJ.net
Windows用フリーソフト「クロスワード ギバー」
ヒント直接編集機能が付いたよ!!!
http://katahiromz.web.fc2.com/xword/

762 :片山博文MZ ◆T6xkBnTXz7B0 :2014/10/09(木) 15:17:20.90 ID:nfoI1BGW.net
バグ修正しました。

763 :片山博文MZ ◆T6xkBnTXz7B0 :2014/10/18(土) 17:21:02.56 ID:9V3xWvL8.net
Windows用フリーソフト「クロスワード ギバー」
ver.2.2にバージョンアップしたよ!!!
http://katahiromz.web.fc2.com/xword/

764 :片山博文MZ次期CEO ◆T6xkBnTXz7B0 :2014/11/30(日) 16:43:56.91 ID:RLHclfWA.net
Windows用ソフト「クロスワード ギバー」
ver.2.4にバージョンアップしたよ!!!
漢字・英語クロスワードも作れるよ!!!
http://katahiromz.web.fc2.com/xword/

765 :□7×7=4□□:2014/12/01(月) 03:54:19.08 ID:q0k/WMwV.net
     ___
    /|   |
   || .彡⌒ ミ
   ||. (   )|
   ||oと.   |
   || |(__)J|
   ||/彡 ̄ ガチャ

766 :□7×7=4□□:2015/04/25(土) 23:51:32.95 ID:AFsw2VHO.net
ブラウザでペンシルパズルに毛の生えた程度のゲームを作ろうとする。

JAVAアプレット・フラッシュ・html5・・・・

色々選択肢があるのだろうが、無難なのはどれなんだろう。

767 :アホ私大:2016/11/11(金) 10:17:43.00 ID:kBBzMlLV.net
スケルトンを自動生成するプログラムのヒントをください。
迷路作成アルゴリズムで迷路の直線長さを制限するとよいように思うがうまくゆかない。

768 :□7×7=4□□:2016/11/29(火) 17:41:22.51 ID:ctNNl3EY.net
29日午前3時半ごろ、
逆走した軽乗用車が大型トラックと衝突。
計3人が死傷した。


認知症の過程は放射能汚染によって加速します。
注意欠陥障害(ADD)多動性障害(ADHD)、
若年性アルツハイマー病の原因となっており、
人々は肺炎やインフルエンザ、慢性疲労、癌、
HIV/エイズなどに抵抗できなくなっています。
免疫システムの崩壊の結果がアレルギーです。
死者の数は、他のいかなる原因よりも多いです。
河川の汚染は犯罪と見られなければなりません。

問題は、日本政府が何も認めないことです。
多くの人々が放射能の影響で死んでいるのに、
彼らは幻想の中に生きています。
日本の近海の食料は安全ではありません。
健康上のリスクは福島に近づくほど高まります。
福島の子供達は癌をもたらす被爆をしています。
福島県民は廃炉後1、2年で戻れるでしょう。

マイト レーヤは原発の閉鎖を助言されます。
マイト レーヤによれば、飛行機など
原子のパターンが妨害されると墜落します。
彼はいかなる人間よりも危険をよくご存じです。
マイト レーヤの唇からますます厳しい
警告と重みが発せられることを覚悟しなさい。

769 :蟻人間 :2021/01/15(金) 17:23:36.36 ID:lZK9fXvl.net
>>767
数学的帰納法と再帰を使え。

770 :蟻人間 :2021/01/15(金) 19:32:50.96 ID:KPtc5BOO.net
アルファベットの集合をAと表す。
壁の集合をBと表す。空白の集合をEと表す。
アルファベットと壁をあわせてC==A∪B∪E.
サイズm×nの盤の解空間S(m,n)は盤集合(C^m)^nに含まれる。
よって与えられた問題は、盤集合のなかから、解を探し出す探索問題に帰する。
盤が解となる条件はスケルトンであること、すなわち各マスが空白ではなく、かつ、単語集合Wがあって、盤において2文字以上の壁ではない並びがあって、、、

771 :蟻人間 :2021/01/15(金) 19:53:09.63 ID:KPtc5BOO.net
現代的でリッチなプログラム言語なら、関数再帰は可能であろう。以下は疑似C++コードで説明する。

static 盤 g_answer; //グローバル変数
static bool g_solved = false; //解があるか?

// 戻り値は成功か失敗。
bool 再帰求解関数(const 盤& board) {
if (g_solved) return true;
if (boardは正当でない) return false;
if (boardは解) {
g_answer = board; //ただし排他制御が必要
return true;
}
盤 clone;
盤boardを盤cloneにコピー。
盤cloneを何マスか埋める。
if (再帰求解関数(clone)) return true;
return false;
}

772 :蟻人間 :2021/01/15(金) 20:05:35.66 ID:KPtc5BOO.net
盤 clone;
盤boardを盤cloneにコピー。
盤cloneを何マスか埋める。
if (再帰求解関数(clone)) return true;

↑この部分を次のように書き換えると再帰で分岐ができる。

盤 clone1;
盤boardを盤clone1にコピー。
盤clone1を何マスか埋める。
if (再帰求解関数(clone1)) return true;

盤 clone2;
盤boardを盤clone2にコピー。
盤clone2を別の方法で何マスか埋める。
if (再帰求解関数(clone2)) return true;

773 :蟻人間 :2021/01/15(金) 20:06:13.45 ID:KPtc5BOO.net
さらにマルチスレッドを使うとより効率よく探索できる。

774 :□7×7=4□□:2021/01/16(土) 18:40:59.20 ID:0NJgBbUs.net
4年前の書き込みに偉そうにレスする妙な人…と思われたら
クロスワードギバーとやらのダウンロードにいい影響を与えなさそう

775 :蟻人間 :2021/01/17(日) 01:14:49.27 ID:mAp+r3qm.net
アルゴリズム考えるなら大学以上のレベルだろう。赤ちゃん言葉や敬語を使うのはむしろ失礼。

776 :□7×7=4□□:2021/01/17(日) 02:49:30.25 ID:KuKtQOSD.net
提案じゃなくて命令なんだw

777 :蟻人間 :2021/01/17(日) 19:47:23.32 ID:S9l6mqmE.net
スケルトンのプログラム作っちゃった。。。

778 :蟻人間 :2021/01/26(火) 15:34:59.87 ID:0BpPuo9D.net
電子書籍『クロスワード自動生成の世界 第五版』
プログラミングの話も載ってるよ!

779 :□7×7=4□□:2021/05/16(日) 21:13:52.19 ID:nNn+LnzB.net
>>777
締め切り終わったけど
https://jppuzzles.com/skecontest/
の最高得点に挑戦してほしい

780 :□7×7=4□□:2021/08/20(金) 11:25:14.52 ID:uNM0w+aD.net
AtCoder Heuristic Contestに挑戦してみるといい

781 :□7×7=4□□:2023/08/21(月) 06:02:37.32 ID:6Ou2dj2N.net
(>。<;)y-~ ゲホッゲホッ...

782 :□7×7=4□□:2023/09/16(土) 15:42:52.25 ID:0x+JYf6y.net
AIで解くやつにΟとかあるの?

総レス数 782
262 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★