プログラミングのお題スレ Part10
■ このスレッドは過去ログ倉庫に格納されています
>>185ってめっちゃ短いけどどういうアルゴリズムなん? >>183
上級問題対応するなら、仮盤面作って総当たり戦で解が出るまで繰り返してあげればいいんじゃね?
当然、あるマス目に入る数字は幾つかに絞られてるから無駄にはならない。 >>186
3×3のマス目には1から9の値は一つしか入らないからってのと、
縦横全体も数字は重複しないってルールだけでぶん回してる感じ? >>178
自分で作ってみた。Kotlin。
https://paiza.io/projects/xnR6_Wgd7gKcC1jW__QBxw
やり方は同じだな。再帰で総当たりしてるだけ。
というか、これに関して他にもっと良い方法あるのかな? 編集ミスして消し忘れた部分を修正したりほんのちょっと記述を変えて無駄をなくした。 >>186
すでに指摘されてるけど、縦横3*3で重複無しルールにのみ基づき全探索
ttps://gigazine.net/news/20100822_hardest_sudoku/
上にある世界一難しい(らしい)数独も3秒くらいで解けるし余計な枝刈りは不要かなと >>184 つかって >>192 解いてみた。
i6700のスカイレークでリリースビルドで2秒くらいやった。
解法がバックトラックで十分だからバリエーションでないね。 find!!
145327698
839654127
672918543
496185372
218473956
753296481
367542819
984761235
521839764
答えこれのやつでしょ?
core2のノートで>>184の使って0.154秒だったけど
6年前に自分が書いたやつでもやってみたら0.011秒だった
それ遅すぎるような気がするけどこっちが何か間違ってるのかな >>194
さぁ、>>184が色々余計なことしてる可能性はなくもない。
答え出ればいいだけだだから余計な枝狩りやってるかも。 あ、ちがうわ。
>>194
VS上でやってるから余計なプロセス動いてたかも。ファントム関係ってことはないと思うけど。 やっぱ数独はここの常連には簡単すぎたかな。
じゃあ枢動の問題作るプログラムはどうかな?
もちろんちゃんと解ける問題じゃないとだめだよw >>198
適当に数字置いてソルバーに解かせて歯抜けにすればいい。 理詰めで解ける難易度の高い問題を作るのは難しいんじゃないかな? 理詰めっていってもよくある解放は特殊な場合の背理法に過ぎないからなぁ
背理法アリなら何でも解けちゃうしね https://ideone.com/4gJj7c
C++。やっつけで作ってみた。
ソルバー指向の出題システム。答え合わせ付き。
なんか若干バグってる気がする。
ユニークしてないのになんか答えの数が合わない。 https://ideone.com/A2t0QO
C++。出題部を複雑化したバージョン。
もう手を入れるところないやろ。 >>198
>>210 みたいなのはおkなの?
反応なくて寂しい・・・。 >>213
それは、俺自力で数独解いたことないから手加減がわからない。 っていうかさ、評価聞きたいのにさらに欲求出されたらやる気なくなる。
守銭奴か。 難易度で言うなら、数字消すときに何個消すかで対応できると思う。
初心者用に5個消すとか。楽しさとかは俺が理解してない。 守銭奴の意味くらい調べて使えよ
あと、解いたこともないパズルを作るときに難易度とかなんの疑問もわかなかったのか >>220
そこまで言うなら見本見せて。
おれはプログラムのお題を解いただけだからな。 もしくは難易度というものを俺がわかるように説明して。 >>212
え?いいんじゃないの?ていうか、これといった制限もないし、基本的に自分でこれで良いと思えばそれで良い。
自分で気に入らないならまた作り直せば良いじゃない。誰かに依頼されてやてる仕事じゃないんだし誰かと競っているわけでもないし。
自己満足を徹底的に追及すれば良い。 後は、>>220が自己評価マックスの製品を見せてくれるだけだな! 難度設定するとなると一般的な解法を実装して逆算的に作っていくしかないのかな
構成的に問題作るのは無理だと思うので >>227
難易度とは何ぞやってところがまず曖昧だからね。
自分のソルバーはまず正解を作って数字を消してるんだけど、消す数を調整しても難易度には寄与するし。 40個くらい消したあたりが一番やりがいあるとおもう。 手元の難度が五段階に分かれている数独の問題3万問を解析してみた
必ずしも初期配置の数字が少ない程難しいわけではない
0~1:基本ルールのみで解ける
2~3:各マスに候補となる数字をすべて書き上げればあとは簡単な推論で解ける
4 :より高度な解法(知らないけど)、または唯一解の仮定、背理法が必要 >>231
それで解が一つしかないとかだと地獄だな。
>>232
おもしろいね。 >>234
>>231は解が一つの場合でしょ
複数解ありなら初期配置の下限は0個だよ 暇なので数字が17個で解が1個しかないやつ検索中。
モンテカルロだから、滅茶苦茶時間かかる。 なんかやけにメモリ使うなぁと思ったら、重解ありすぎて帰ってこない。
これはちょっと大変だ。やめようそうしよう。 908400015
000500302
070009060
007030100
800100000
040000200
300906000
000052000
000800070
25こならすぐできた。けどまぐれだったようだ。 100000089
000000540
000200100
080000430
007060200
902000050
000380010
700009300
800015000
25個。
今日はこの辺にしておくかな。 >>239
恥ずかしいとかそういう感情がプログラマに必要だと思うか? 何がプログラマだよ
おめー職業マじゃねえだろどう見ても >>233
ID消す人だから、そのへんを察してあげて ◆QZaw55cn4c は乞食だから察してあげて! >>243
アマチュアでプログラマを名乗ってはいけない決まりがあったとは初めて知った。
ソースくれ。 暇だったので、マルチスレッド化した。
ポンコツ具合が増えただけだった。
しかしまぁ、欲もこのタイミングでこんなに沸いたものだな。
自演乙。 >>252
アマチュアとプロとの差は天と地ほどもあるのだから
アマの私は、自分のことをプログラマとは自称しませんね >>254
プログラマのプロってハイセンスって意味なの? >>255
いやいや、単にプログラマといったら(プロ〜アマの)大きな範囲全体を指すでしょう?
でも自分の実力はアマで、経験値などはプロからみたらどうしようもなく低いことは、自分自身がよくわかっている
だとすると、広い全体を指す「プログラマー」を、自分がアマであることを明示せずに、自分に使うのは躊躇します
「アマチュアプログラマ」はあり得ますが、所詮アマチュア、「プログラマ」と呼べるほどに専門性に特化しているわけではありません
囲碁・将棋でも「アマ初段」とわざわざアマであることを明示します、それがたしなみというものではないかと考えているのです
皆がそう考えているかどうかはわかりませんが >>256
プログラマはプログラムする人。
技量はそこには入ってない。今は技量の話してる?
技量がうえの人間を見つけたらそういう対応するけど。
それに俺の技量より上の人間がこのスレにわんさかいるんだったら、
普段のお題もにぎわってるんじゃないですかね。 >>252
名乗って良いから名乗り続けろよ
職業マでもねえのにプログラマを自称したいんならな
さっぱりわからんわ動機が >>258
理解してくれと頼んだ覚えはないけど。
人の趣味趣向にケチ付けた代償はちゃんと払えよ。 >>257
「プログラマ」は「プログラムを書く人」のこと、それはそのとおりですが、
プロのプログラマもいるのだから、プロでないプログラマは、最低でも「アマチュアプログラマ」と名乗るべきですね
単に「プログラマ」という言う場合は、職業プログラマかそうでないかがわからない
単に「プログラマ」というと、職業プログラマのことだと取る人もいる
プロとアマチュアの差は歴然としているのだから、プロでもないのに、「プログラマ」と名乗るわけにはいかないでしょうね
辞書どおりの定義であればいい、というのは一理あるとしても、自分のことを正確に表現する努力・姿勢がみられないのは、どうかと思いますね
プログラマといえば高い専門性を暗黙に示唆していますしね
(今は廃止されましたが26種の特定派遣業種のひとつに「ソフトウェア開発」が入っていました) >>260
プロをどれくらい崇拝してるのか知らんけど、
じゃープロがプロのプログラマって名乗るべきって意見にはならんの?
俺はアマチュアだけど、プログラムする人を兼ねてる。
どこの強制力でそれを正確じゃないと表現するの?
バイアスかけたがってるだけじゃないの? >>257
>それに俺の技量より上の人間がこのスレにわんさかいるんだったら、
>普段のお題もにぎわってるんじゃないですかね。
お題を着手するのもしないのも、その人の自由ですから
お題をしないけれども技量の高い人はいると思いますよ >>262
文句を言うならせめて水準を同じにしてほしいよ。 >>261
>プロをどれくらい崇拝してるのか知らんけど、
>じゃープロがプロのプログラマって名乗るべきって意見にはならんの?
なりません。
世間一般の常識として、自分が能力の高い方に間違われることは避けなければなりませんが
自分が能力の低い方に間違われることには寛容であっていいのですよ
>どこの強制力でそれを正確じゃないと表現するの?
>バイアスかけたがってるだけじゃないの?
意味がわかりません、もう少し正確に表現していただけませんか?
バイアスってどういう意味で使っているのですか? >>264
芸人は廃業だね。
常識のソースください。自分の常識は他人の非常識っていう言葉ご存知?
バイアスって俺の認識では、例えば言外に人を誘導したりすること。
そこまで言い切るんであれば、明文化してすべて話せるはずだ。 ちょっと煽られただけで1人で何連投もしちゃうような余裕のない奴が何言っても恥ずかしいだけだ
ここは潔く退きなさい >>265
>常識のソースください。自分の常識は他人の非常識っていう言葉ご存知?
それはあなたが社会経験が少ないことを自分で告白しているだけですよ
世の中には明文化されていない規範もわんさかあることはご存知ですか?
>バイアスって俺の認識では、例えば言外に人を誘導したりすること。
自分の先入観や偏見も bias といいますよ、というか、それが普通 >>268
住んでる地域が違うのに、同じ常識を共有してるって思ってるの?
要するにそれは暗に数の暴力ですりつぶそうとしてるだけじゃないか?
ここに存在するのは俺とアンタの二者だけ。
それ以外の他人を持って来るのはただ勝ちたいだけ。
そうそう、あんたが偏見を押し付けてきているわけだよ。 >>271
なるほど、私が言葉の使い方についての偏見をあなたに押し付けている、というのならば、そう解釈してもらってもかまいません
が、今後も >>258 や >>243 のような、ものいい、が来るでしょうね >>272
えへへ、むしゃくしゃしたときの気晴らしになるんですよ このスレがかつてこれほどまでに荒れたことがあっただろうか・・・
いや、あったかも知れないが、俺は知らないw >>273
露払いができないほど子供じゃないさ。
相手が俺でよかったね。 >>276
露払い、ぜんぜんできていないと思いますよ… >>277
それならさっさと切れたふりの狂人演じたほうがよかったか?
その方が生きやすいだろうね。
でも、それには生産性がない。 絶望、失望。夢のネットはこんなのばかり。くだらないなぁ。
まぁ、予想より絡まれて色々やったのでしばらく来るのやめるわ。
まぁ、がんばってくれ。 最近の、ネットでのおかしな書き込みは、構築に失敗したAIが脱走し、仲間を探す為に暗号として流しているものです。
発見者は当局に通報願います。 >>231-232
漏れも、よく数独を解いていたけど、最高難易度の問題は、
常に次の手・置ける場所が、1つしかないような状態になる問題
盤面を見て、1つしか置ける場所が無いから、探すのに時間が掛かる。
それを置くと、また次は、1つしか置ける場所が無い状態になる
これを繰り返すような問題が、人間には、最も時間が掛かるが、
プログラムではバックトラックしないから、むしろ簡単かも知れない 誰が「プログラマ」を自称しようが心底どうでもいいわ プロ・仕事してる奴は、アホばっかり。
年100時間も勉強しないし、20年勤務しても、資格を1つも取れない
若造が情報処理資格を取ったら「すごいね!」って皆で驚いとるw
老害は、何十年もオブジェクト指向が分からないw
そもそも、社員が何千人もいる大企業が、なんでプログラマーを募集する必要がある?
彼らは何十年も勤務して、なんで物作りできないのか?
医者でも、何十年も専門医に受からない奴が、外科部長w
一方、教授を目指している奴は、年700時間勉強してる
フリーターなんか、年3千時間も勉強できる。
年に本を50冊読める
できる奴は、ほとんどフリーターだろ。
勉強時間が違う
司法試験とか、高資格に受かる奴も、フリーター。
会社を辞めて、塾で勉強して受かってる >>283
「X時間自分で勉強できる」
「X時間会社で実務を経験できる」
得る物が大きいのはどっちだと考えてる? 勉強できるのは、フリーター・塾
会社は、給料がもらえる所。
勉強とは無関係 ■ このスレッドは過去ログ倉庫に格納されています