[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 04/06 02:40 / Filesize : 313 KB / Number-of Response : 1026
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

プログラミングのお題スレ Part11



1 名前:デフォルトの名無しさん mailto:sage [2018/04/24(火) 20:45:14.49 ID:ZY7R7Sru.net]
プログラミングのお題スレです。

前スレ
プログラミングのお題スレ Part10
https://mevius.5ch.net/test/read.cgi/tech/1514772904/

【出題と回答例】
1 名前:デフォルトの名無しさん
  お題:お題本文

2 名前:デフォルトの名無しさん
  >>1 使用言語
  回答本文

【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
codepad.org/
compileonline.com/
rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
melpon.org/wandbox
https://paiza.io/

宿題は宿題スレがあるのでそちらへ。

976 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 20:48:39.65 ID:sp2kbyYS.net]
企業がやってるのって大体駄目だったと思うで

977 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 20:49:39.59 ID:Iw2LHuqq.net]
>>953
あくまでも過去の出題例、だからいいんじゃないですか?

978 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 00:29:21.73 ID:gYIP5Vsu.net]
アウトかセーフか分からないときは答え公開しないほうが無難

979 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 01:18:48.14 ID:pHq1DkBS.net]
>>956
アウトになる条件は、「エントリー後メールにて送付されるコーディング試験問題は、当社への応募以外の目的で無断使用しない」…@
だが、>>952 のリンクの問題は「エントリー後メールにて送付されるコーディング試験問題」ではないから@に反しない…A
さらに、無条件に誰でも見ることのできる問題であること…B
Aよりアウトではないと断定できるし、BがAの結論を補強する
結論として、>>952 のリンクの問題を公開しても問題ない

>>956 「アウトかセーフかわからない」という結論にどういう道筋で到達したの?

980 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 19:43:34.67 ID:KaiQ4rsk.net]
お題:コンプリートパネル(出展:高校生クイズ2018)

5×5のパネルが与えられる。各パネルは赤色か白色である。
各パネルに侵入すると、そのパネルの色が赤なら白、白なら赤に変化する。
最初のステップは、場外(左下のパネルの左隣)から左下のパネルへ侵入することである。
以降のステップでは、上下左右に移動することができる。
ただし、ひとつ前のパネルや場外に移動することはできない。

すべてのパネルを白色にするための移動経路を構成せよ。

WWWRR
WWWWR
WWWWR
WWWRR
RRRRW
=> 10 RRRRURUUUL (→→→→↑→↑↑↑←)

WWWWW
WWWWW
WWWWW
WWWWW
WWWWW
=> 0 (移動の必要なし)

WWWWW
WWWWW
WWWWW
WRWWW
WWWWW
=> 21 RRRRULULLDDRULURRDRDL (必ずしも最短経路である必要はない)

981 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 19:51:24.03 ID:WMjcSrAA.net]
>ひとつ前のパネルや場外に移動することはできない

全部踏めばいいんだからライツアウトの解法の亜種で解けるんじゃねえの

982 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 19:59:02.78 ID:ZUIw2oHI.net]
状態を変えずに任意の場所まで移動できるなら
6箇所だけそれぞれ1つだけRだった場合を計算してあとは回転なりなんなりして重ね合わせればいけるな

983 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 20:34:03.00 ID:WMjcSrAA.net]

□□□
□□□→

2*3の全パターンで、この二つの方向のどちらかに抜ける経路が存在すればいい
あとは合成で何とかなる

984 名前:デフォルトの名無しさん [2018/09/19(水) 21:11:11.50 ID:zcXFtBV7.net]
うーん。これはブルートフォースでやろうとするとかなり無駄が多くなって時間とメモリを山盛りに食いそうな予感。



985 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 23:00:29.71 ID:gYIP5Vsu.net]
5x5=25マスの赤or白の2値だから25bit、現在位置25通り(5bit)に前回位置相対で4通り(2bit)、あわせて32bitパターン?

986 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 23:25:52.07 ID:WMjcSrAA.net]
5x5は序の口で、100x100くらいが本命でしょう
ついでに最短の最適解も

問題も作るだけならラクだから1000x1000だって0.1秒程度で作れる
もちろん解くのは面倒

987 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 01:27:25.92 ID:B4lxWLis.net]
>>958
手でしか試してないけど
解けないパターンとかありそうな予感
https://i.imgur.com/u8zgEum.png

988 名前:デフォルトの名無しさん [2018/09/20(木) 09:43:56.68 ID:cMPVhU9i.net]
プログラム考える以前に解くためのいいアルゴリズムが思い浮かばん

989 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 12:37:05.73 ID:B1/3j8uv.net]
辺の長さが3以上の時は戻るの禁止ってルールは実質的に無視できそうだな
というのも閉路を2周すれば元通りに戻るわけだから

xxx
x↓x
x↑x
上に行ってまた下に戻るって進みたいときは

→↓x
↑←x // 中央「←」を3回目に踏むときは下に進む
x↑x
ってすればいいわけで
2*2 かどちらかの辺が 1 の場合以外は任意のパターンで解があることになる

990 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 23:43:04.82 ID:uzQ90Fqy.net]
RWWWR
WRWWW
RWRWW
RWWRW
WRRWR

全てのパターンが解けて最長がこの形で44手かかる

となったけどできたばかりだからまだまだバグがありそう

991 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 23:11:26.91 ID:1M+bqJR8.net]
https://ideone.com/S7UA0k
表示までできるようになったので
ここでは5秒超えるので結果表示されないみたい
10年前のノートで2分半かかる
結果はこんな感じ

- - - - -
- - - - -
- - - - -
- x - - -
- - - - -

RRRRULDRULLDL 13

x - - - x
- x - - -
x - x - -
x - - x -
- x x - x

RRRRRUUUULLLLDDDDRRRURUULDLDDLUURDLURRUULLDL 44

992 名前:957 mailto:sage [2018/09/22(土) 13:39:38.33 ID:EQZKU8B1.net]
最適解ではないが、人間にも実行可能なアルゴリズムを考えた
上のラインから順番に確定させていく感じ
https://ideone.com/nUgNh3

993 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 05:22:08.89 ID:QL0eQEru.net]
解法全然分からないけど
枝狩りもメモ化もせず愚直に全探索すると44手目で10760814742109228通りになるのか…ヤバイな
codepad.org/JXkGjMKb

994 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 06:45:48.27 ID:QL0eQEru.net]
>>971
メモ化のみの全探索でも厳しいね
https://ideone.com/TpZyFM



995 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 07:02:07.82 ID:QL0eQEru.net]
>>963の理屈上なら>>972のstepの累積和が3,355,443,200(=25<<27)になった時点で全通り出たことになって最短の上限になるのかな?

996 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 10:53:27.77 ID:daMeAE67.net]
ttps://cdn-ak.f.st-hatena.com/images/fotolife/m/motcho/20180127/20180127034515.png
連続殺人犯が全ての目撃者を消して完全犯罪を目論む

997 名前:デフォルトの名無しさん [2018/09/23(日) 12:36:34.31 ID:FE85zabB.net]
文字列のペアがn対与えられる。
s(1),t(1)
...
s(n),t(n)

この時、ペアを適切な数選び適切な順番で並べる事で
s(a1)s(a2)...s(ak) = t(a1)t(a2)...t(ak)
とできるかどうか判定せよ
(ペアを重複して選ぶのもOK)

998 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 12:41:57.26 ID:A0stA7Ax.net]
>>975
それって「s(i)=t(i)となるiが1つ以上存在するか」というだけのように思えるけど、違うかな?

999 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 12:42:44.79 ID:A0stA7Ax.net]
>>976は勘違いでした。取り消します

1000 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 13:27:09.60 ID:yBlaBAG2.net]
>>976
最初全く同じこと思ったわw
でもこれって十分条件に過ぎないんだな

a ab
bc c
s(1)s(2) = t(1)t(2) = 'abc'

1001 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 17:12:26.93 ID:daMeAE67.net]
応用だけは思い付いた

ATCGTTGTAC, AAATTTCTCTCTTTCT
GTGATGCGTTGCAGGT, ATGCCATGTGAC
AAATTGCTGAC, ATGTTGCGTC
ATGCGTACCCACG, AGTGCGTTCGTAC
...(以下、1万行続く)

1002 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 12:45:56.45 ID:ZWCrk0/p.net]
>>975
空文字列は含むの?

1003 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 14:31:45.91 ID:twjLvrgB.net]
重複しても良いってなっているのでどうやっていいか分からなくなった。
重複なしなら単に順列の問題で全パターン調べれば良いだけなんだけどな。

1004 名前:デフォルトの名無しさん [2018/09/24(月) 14:56:44.30 ID:hAv+WLv3.net]
>>980
含むと何も並べなければOKって事になりそう



1005 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 15:56:26.13 ID:IwP3sRIS.net]
>>982
結果じゃなくて入力に

一つも選ばないのがOKならそもそも問題として成立しないだろ

1006 名前:デフォルトの名無しさん [2018/09/24(月) 16:14:35.67 ID:twjLvrgB.net]
>>975
Kotlin
但し、重複選択は考慮していない。
https://paiza.io/projects/iRHJjFRj9BJIydX10SIn0Q

1007 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 19:57:46.70 ID:6VO2RDhD.net]
>>970
ルール合ってるのかどうか知らないけど
ゲーム風にしてみた (Win専用)
fast-uploader.com/file/7093342064119/
PASS:11957

慣れると何となく解き方のコツが見えてくる
今まで解けなかった例は無さげ

1008 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 20:25:58.77 ID:8mxLASGw.net]
任意のパターンで解けることはここですでに言及されてるよ

1009 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 00:18:48.94 ID:sMuinsuC.net]
エビングハウスの忘却曲線っていって人間のベストな復習間隔があるんだけど
例えば今日勉強したことは明日復習して3日後、1週間一ヶ月ごとに復習すると完全に長期記憶になる
これをスマホアプリで管理するプログラミングしたい
理屈は簡単、カレンダーに今日覚えたことを「○○の20-40ページ」とか記入して
明日になったら今日やる復習を表示してくれるシステム

プログラミングのプの字も知らんのだ
どの言語を使うとかもわからんmacとxcodeはある
どういう作り方すればいいかわからない教えてください個人用に使う

1010 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 02:12:07.33 ID:JXqOIinx.net]
ここはそういうスレではないよ

1011 名前:デフォルトの名無しさん [2018/09/25(火) 02:40:25.79 ID:VjhU4mZC.net]
>>987
このスレはそういう質問するスレではなく、誰かがお題を出して回答したい人がプログラミングして回答するスレだ。

そういう質問はまずは既存のソフトでそういうことが出来るのがないか以下のスレで聞いた方が良いと思う。

気軽に「こんなソフトありませんか?」Part.176
https://egg.5ch.net/test/read.cgi/software/1529929775/

それからどうしてもプログラムを自分で作ってみたいというのであれば何らかの言語を覚える必要があるが、
MacやiPhoneの場合は何が良いのか俺はよく知らない。この頃だと Swift なんだろうか? Swift は確か xcode
使って作れたと思うが、詳細は今の俺には分からん。MacOSやiOS関係のスレを探して聞いてくれ。

1012 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 22:18:07.66 ID:/SCmCNkm.net]
お前らってファイルそのものへの参照を禁止したうえでquineを自力で書ける?

1013 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 23:09:56.51 ID:TEegUJED.net]
もう少し詳しく

1014 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 01:19:09.36 ID:voc6Rn8M.net]
次スレは



1015 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 10:09:57.20 ID:phwOkayR.net]
次スレ
プログラミングのお題スレ Part12
https://mevius.5ch.net/test/read.cgi/tech/1538096947/

1016 名前:デフォルトの名無しさん [2018/09/28(金) 21:10:47.83 ID:WW7qy9i/.net]
埋め

1017 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 21:28:45.12 ID:CwsEryp/.net]
うめ

1018 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 21:28:53.05 ID:CwsEryp/.net]
うめ

1019 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 21:29:01.92 ID:CwsEryp/.net]


1020 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 21:29:15.02 ID:CwsEryp/.net]


1021 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 21:29:28.35 ID:CwsEryp/.net]
あさうめ

1022 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 21:29:36.27 ID:CwsEryp/.net]
うめ

1023 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 21:29:44.58 ID:CwsEryp/.net]
うめ

1024 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 157日 0時間 44分 30秒



1025 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<313KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef