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


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

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



1 名前:デフォルトの名無しさん [2020/03/13(金) 01:42:47.06 ID:0rEhys36.net]
プログラミングのお題スレです。

【出題と回答例】
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/

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

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

369 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 18:55:56 ID:9sR0wNPf.net]
これでもサラリーマンの年収の上位5%に入るんだ

370 名前:◆QZaw55cn4c mailto:sage [2020/04/28(火) 18:58:28 ID:cQuYXkHz.net]
>>349
重力加速度を指定ください

371 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 19:02:43 ID:9sR0wNPf.net]
9.80665

372 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 19:31:55 ID:KJ919r2x.net]
数学の話になると毎度現れるアスペ君今日も来てて草
アスペが重度なのか数学コンプが重度なのか

373 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 19:43:22 ID:yUYRMh3W.net]
>>308
C 幅優先探索
https://ideone.com/IsSgky

374 名前:デフォルトの名無しさん [2020/04/28(火) 19:44:24 ID:6K6MgdzD.net]
>>293
全加算器
Step 12, Solution 3
0 : -1, -2: 0, 0, 0, 0, 1, 1, 1, 1 : 4
1 : -1, -2: 0, 0, 1, 1, 0, 0, 1, 1 : 4
2 : -1, -2: 0, 1, 0, 1, 0, 1, 0, 1 : 4
3 : 2, 1: 1, 1, 1, 0, 1, 1, 1, 0 : 6
4 : 3, 1: 1, 1, 0, 1, 1, 1, 0, 1 : 6
5 : 3, 2: 1, 0, 1, 1, 1, 0, 1, 1 : 6
6 : 5, 4: 0, 1, 1, 0, 0, 1, 1, 0 : 4
7 : 6, 0: 1, 1, 1, 1, 1, 0, 0, 1 : 6
8 : 7, 0: 1, 1, 1, 1, 0, 1, 1, 0 : 6
9 : 7, 3: 0, 0, 0, 1, 0, 1, 1, 1 : 4 *
10 : 7, 6: 1, 0, 0, 1, 1, 1, 1, 1 : 6
11 : 10, 8: 0, 1, 1, 0, 1, 0, 0, 1 : 4 *
他2

375 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 21:14:59.05 ID:5Mrr6wN/.net]
お題:CapsLock on/offを切り替えながら文字入力

[入力]
A B C S

A : Shiftキーを押さずに1文字入力するのにかかる時間
B : Shiftキーを押しながら1文字入力するのにかかる時間(※)
C : CapsLock on/offの切り替えにかかる時間
S : 入力する文字列(英字のみ)

※CapsLock onで小文字入力、CapsLock offで大文字入力にかかる時間をBとする

[出力]
初期状態をCapsLock offとしたとき、Sを入力するのにかかる時間の最小値を求めよ


(例1)
2 3 4 ABCDE
=> 14
CapsLockを使わない場合、3+3+3+3+3=15
CapsLockを使うと、(4)+2+2+2+2+2=14

(例2)
2 3 4 aBCDe
=> 13
CapsLockを使わない場合、2+3+3+3+2=13
2文字目以降CapsLock onの場合、2+(4)+2+2+2+3=15

376 名前:デフォルトの名無しさん [2020/04/29(水) 01:24:53.33 ID:W2Vd/2U1.net]
>>364
そんな長いコードよく1日でかけたな

377 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:08:45.13 ID:hFx8dHat.net]
つられて開いたら、そんなに長くなかった



378 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:11:21 ID:hFx8dHat.net]
モレも若い頃、力ずくの実装

379 名前:でこう言ふコード書いていた時期があった希ガス 遠い目 []
[ここ壊れてます]

380 名前:デフォルトの名無しさん [2020/04/29(水) 02:17:11 ID:7u9sxpAB.net]
プログラマってプライド高いからすぐに張り合うよねw

381 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:21:44 ID:MMtCgKFX.net]
誰も張り合っていないが

382 名前:デフォルトの名無しさん [2020/04/29(水) 02:22:31 ID:IXK0ODva.net]
子どもみたい

383 名前:デフォルトの名無しさん mailto:age [2020/04/29(水) 02:25:50 ID:HpBd3h/I.net]
大人とは何か

384 名前:デフォルトの名無しさん [2020/04/29(水) 02:27:25.42 ID:IXK0ODva.net]
冗談だから間に受けなくていいよ。

385 名前:デフォルトの名無しさん mailto:age [2020/04/29(水) 02:28:27.81 ID:HpBd3h/I.net]
大人とは酒、タバコ、Unix

386 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:29:29.28 ID:C2sNF63S.net]
>>374
うざいからよそでやれ

387 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:29:46.63 ID:sgNXZLgj.net]
うん。で?



388 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:30:51.12 ID:gC4oizq8.net]
>>375
うざいからよそでやれ

389 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:33:29.03 ID:YwwSpjL1.net]
餌をあげないでください。

390 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:33:56.37 ID:b7RiChMO.net]
>>379
うざいからよそでやれ

391 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:35:59.66 ID:nrbD9/Mw.net]
>>380
あなたにとってうざいことは、みな歓迎しています

392 名前:デフォルトの名無しさん [2020/04/29(水) 02:36:09.16 ID:CXgZ7sKW.net]
>>369
そうなんだおじさん「そうなんだ」

393 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:37:10.95 ID:hZe4L1sV.net]
いやいや全然違います

394 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:38:46.06 ID:pkOZSJYa.net]
いいえ全然違いません

395 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:39:10.87 ID:OQU5gELq.net]
くだらねぇーw

396 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:40:49.50 ID:tOnjZeuD.net]
くだらないことは何度も

397 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:41:29.87 ID:OQU5gELq.net]
うん。で?



398 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:41:55.06 ID:i/nVZZDh.net]
うざいからよそでやれ

399 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:43:06.43 ID:OQU5gELq.net]
│    _、_
│  ヽ( ,_ノ`)ノ 残念、それは私のおいなりさんだ。
│ へノ   /
└→ ω ノ
      >

400 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:43:16.68 ID:JIRRi7ju.net]
おじさんはここがいいです。

401 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:44:14.14 ID:Fecc9l/8.net]
くだらねーw

402 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:44:35.49 ID:OQU5gELq.net]
逝ってよし

403 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:45:11.17 ID:73PkxB6e.net]
おじさんはよそに行きましょうね

404 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:45:55 ID:OQU5gELq.net]
↓少し下でID変えて書くはず
逝ってよし

405 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:46:12 ID:mcZoq7mu.net]
くだらねーw

406 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:47:10 ID:XlBNFPbk.net]
逝ってよし

407 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:47:46 ID:OQU5gELq.net]
ktkr



408 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:48:03 ID:QCxNpmbM.net]
くだらねーw

409 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:49:03 ID:P4G9hJZv.net]
律儀だなお前

410 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:50:36 ID:WGhV7jsx.net]
おじいちゃんの唐突な自分語りワロタ

411 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:50:44 ID:189Zc0ZE.net]
>>398 ご褒美あげるよ
https://www.google.co.jp/search?q=%E3%83%9E%E3%83%B3%E3%82%B3&hl=ja&source=lnms&tbm=isch&sa=X&ved=2ahUKEwibwsmt14vpAhXGQN4KHZx_AsYQ_AUoAnoECAsQBA&biw=1024&bih=626

412 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:53:16.11 ID:189Zc0ZE.net]
>>400
お前も、ご褒美、欲しい?

413 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:54:44 ID:189Zc0ZE.net]
やっぱ、お前には、あーげない。

414 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:57:53 ID:189Zc0ZE.net]
なぜこの程度で、黙る?

415 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:59:48.25 ID:189Zc0ZE.net]
かわいそうなことをしてしまったかな…

416 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 03:13:10 ID:VGrmX9xw.net]
ご褒美にどうせ貼るならこっちだろ
https://www.google.co.jp/search?q=%E3%83%9E%E3%83%B3%E3%82%B3&source=lnms&tbm=isch&sa=X&ved=2ahUKEwi2__io3IvpAhXoy4sBHWLLAs0Q_AUoAnoECAsQBA&biw=1024&bih=626

417 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 03:14:48 ID:VGrmX9xw.net]
いやいやこっち
https://www.google.co.jp/search?q=%E3%83%9E%E3%83%B3%E3%82%B3&source=lmns&tbm=vid&bih=626&biw=1024&hl=ja&ved=2ahUKEwja0Yir3IvpAhUyMHAKHSsUDc0Q_AUoAXoECAEQAQ



418 名前:289 mailto:sage [2020/04/29(水) 07:47:59 ID:h4pVS5Or.net]
>>286 Ruby
https://ideone.com/KV5X5c
主な処理をテーブルで済ませて高速化
ideone の時間制限内に完走できた

419 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 09:28:47 ]
[ここ壊れてます]

420 名前:.04 ID:7z7Xd+nS.net mailto: >>366 Ruby
# A <= B とする

def f(a, b, c, arr, cl = false)
  return 0 if arr.empty?
  arr = arr.clone
  cap, size = arr.shift
  return a * size + f(a, b, c, arr, cl) if cap == cl
  [c + a * size + f(a, b, c, arr, !cl), b * size + f(a, b, c, arr, cl)].min
end

g = -> str {str.scan(/[A-Z]+|[a-z]+/).map{|s| [s.match?(/[A-Z]/), s.size]}}



[
  '2 3 4 ABCDE',
  '2 3 4 aBCEe',
  '2 3 4 XMLHttpRequestEventTarget'
].each{|s| *e, s = s.split; puts '%s => %d' % [s, f(*e.map(&:to_i), g[s])]}

# =>
ABCDE => 14
aBCEe => 13
XMLHttpRequestEventTarget => 57
[]
[ここ壊れてます]

421 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 09:42:47.46 ID:v+B1NZPE.net]
>>308
2番目の例impossibleじゃなくて S -> 3 -> Gじゃないの?って思ったら入力1行目はH Wだった

422 名前:デフォルトの名無しさん [2020/04/29(水) 16:10:16.80 ID:HpBd3h/I.net]
>>271
Java
https://paiza.io/projects/RBAyJiWk21BDHF_SnCn1Yg

423 名前:デフォルトの名無しさん [2020/04/29(水) 21:05:32 ID:HpBd3h/I.net]
>>234
Java
https://paiza.io/projects/grHXWC8LISo50PRjUPDaFA

424 名前:デフォルトの名無しさん [2020/04/30(Thu) 06:48:30 ID:2MGLj+B4.net]
>>293
4入力セレクタ

digraph g1 {
subgraph cluster_1 {
label = "Solution_1"
aa_1_0, aa_1_0 -> aa_1_6 ; aa_1_1, aa_1_1 -> aa_1_7 ; aa_1_3, aa_1_1 -> aa_1_8 ;
aa_1_5, aa_1_1 -> aa_1_9 ; aa_1_7, aa_1_2 -> aa_1_10 ; aa_1_7, aa_1_4 -> aa_1_11 ;
aa_1_10, aa_1_8 -> aa_1_12 ; aa_1_11, aa_1_9 -> aa_1_13 ; aa_1_12, aa_1_6 -> aa_1_14 ;
aa_1_13, aa_1_0 -> aa_1_15 ; aa_1_15, aa_1_14 -> aa_1_16 ;
}
}

425 名前:289 mailto:sage [2020/04/30(Thu) 07:15:11 ID:SPWNNB7s.net]
>>286 Ruby
https://ideone.com/Wz7WFP
2pass化 25%ほど高速化

426 名前:デフォルトの名無しさん [2020/05/01(金) 05:08:54.81 ID:GhPTuZah.net]
>>286
EXNORはちょっとおもしろい。
Step 7, Solution 1
0 : -1, -2: 0, 0, 1, 1 : 2
1 : -1, -2: 0, 1, 0, 1 : 2
2 : 0, 0: 1, 1, 0, 0 : 2
3 : 1, 0: 1, 1, 1, 0 : 3
4 : 1, 1: 1, 0, 1, 0 : 2
5 : 4, 2: 0, 1, 1, 1 : 3
6 : 5, 3: 1, 0, 0, 1 : 2 *

427 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 05:42:45 ID:VWVnAecH.net]
お題: 関数とパイプを実装せよ
以下のような文字列をパースし、パイプに繋げながら関数を実行せよ
標準入力と標準出力の代わりにバッファを使って実装すること

in < "hello"
out > hello

in < "hello | world"
out > helloworld

in < "world | hello"
out > worldhello

in < "hello | upper"
out > HELLO

in < "hello | world | upper"
out > HELLOWORLD



428 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 06:02:49 ID:+MJaN8j/.net]
>>416
hello | upperはhelloupperだろ

429 名前:289 mailto:sage [2020/05/01(金) 07:03:56 ID:bMo1YMx1.net]
>>286 Ruby
https://ideone.com/3qXvX8
一度に 4bit計算 40%ほど高速化

430 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 07:11:29.45 ID:VWVnAecH.net]
>>417
upperはバッファを大文字にする関数

431 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 07:20:48.70 ID:kd4VrQns.net]
いや、存在する関数を全部定義しないと実装なんてできんやん
突っ込まれて思わなかったの?

432 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 07:55:56.05 ID:VWVnAecH.net]
hello, world, upperだけ実装すればいいのでは

433 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 08:08:25 ID:VWVnAecH.net]
みんな真面目だなw

434 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 08:25:09 ID:VWVnAecH.net]
>>416 書き直し

お題: 関数hello, world, upperを実装し、それらをパイプで繋げて実行できるようにせよ
標準入力からコマンドライン文字列が一行ずつ入力されるので、それをパースして上記の関数を組み合わせて実行する
関数の出力と入力には標準入出力を使う代わりに、バッファを使い、コマンドライン全体の実行が終わったら構築したバッファを標準出力へ出力すること
例えば入力されるコマンドラインは

in < hello
in < hello | world

435 名前:
in < hello | world | upper
in < world | hello
in < world | hello | upper

のようになる
hello関数はバッファに文字列「hello」を追加し、world関数はバッファに文字列「wolrd」を追加し、upperはバッファ内の文字列を大文字にする関数である
よって最終的なコマンドラインの出力は

in < hello
out > hello
in < hello | world
out > helloworld
in < hello | world | upper
out > HELLOWORLD
in < world | upper | hello
out > WORLDhello

のようになる
[]
[ここ壊れてます]

436 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 08:29:55 ID:R0k5e7Mk.net]
hello world それぞれを改行無しの printf などで出力し
upper は大きくするだけか

437 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 08:34:39 ID:VWVnAecH.net]
>>424
バッファを使わずに標準入出力だけで実装できるならそれでもいいです



438 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 11:04:14 ID:MCEzZFz/.net]
Ruby には、まさに文字列(バッファ)に、IO インタフェースを実装したクラス、StringIO がある!

439 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 11:29:05 ID:TOWtsDG5.net]
>>423 Ruby
$><<$_.split(' | ').reduce(''){|s,e|[s.upcase,s+e][e.ord%-3]}while gets


-*- input -*-
hello
hello | world
hello | world | upper
world | hello
world | hello | upper

-*- output -*-
hello
helloworld
HELLOWORLD
worldhello
WORLDHELLO

440 名前:デフォルトの名無しさん [2020/05/02(土) 23:08:15 ID:MMgV24Hu.net]
>>423
Java
https://paiza.io/projects/xBPsF7Vihf9x1tS1U1asrQ

441 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 01:19:30.67 ID:SFv1ny6W.net]
>>423 Perl5, 要求仕様通り素直に三つの関数を定義し、文字列をparseした単語の関数名を呼び出す形で実装

sub hello { $o .= 'hello' }
sub world { $o .= 'world' }
sub upper { $o = uc $o }
for (<DATA>) {
 $o = '';
 &$_ for /(\w+)/g;
 print "$o\n";
}
__DATA__
hello
hello | world
hello | world | upper
world | hello
world | hello | upper
world | upper | hello


実行結果
~ $ perl 17_423_hello_world_upperl.pl
hello
helloworld
HELLOWORLD
worldhello
WORLDHELLO
WORLDhello

442 名前:289 mailto:sage [2020/05/03(日) 07:15:48.78 ID:E6IlR6fn.net]
>>286 Ruby
https://ideone.com/VDiQyB
枝刈りを強化 38%ほど高速化

443 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 09:17:11 ID:n5Gy3ytY.net]
>>427
world | upper | hello

444 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 09:27:35.74 ID:/8opEJBh.net]
>>431
ちゃんと"WORLDhello"って出力される

445 名前:デフォルトの名無しさん [2020/05/04(月) 00:23:42 ID:k2FsLwVs.net]
>>423
Kotlin
https://paiza.io/projects/Opyd7gwTb5jwgD2LANwPeA

文字列を判定して対応する処理をするだけでも良かったが、Map に文字列と対応する処理をセットしてそれを呼び出して実行させるようにした。
また hello, world, upper 以外が入力されるとエラーが出るようになっている。

446 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 00:44:53 ID:Jy1F1UMD.net]
また変なTwitterの奴か

447 名前:289 mailto:sage [2020/05/04(月) 07:13:05.12 ID:p+pGQ7l4.net]
>>286 C++
https://ideone.com/djJiyu
Ruby から移植。実行時間は Rubyより 90倍程度高速化



448 名前:デフォルトの名無しさん [2020/05/04(月) 07:38:47 ID:kseU4FEU.net]
>>435
端子の出現順を固定しないから無駄に組合せが増えているのではないだろうか。

449 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 13:46:12 ID:FrWOvyZy.net]
お題
H行W列のマス目が与えられる。左上の座標を(0, 0)、右下の座標を(H, W)とする。
座標(0.5, 0)を始点にしてボールを右下45度の方向に発射する。
ボールが始点に戻ってくるまでに壁に衝突する回数を求めよ。
(マス目の範囲外は壁とみなす。ボールの大きさや摩擦などは無視してよい)

[入力]
H W
('.'が地面、'#'が壁)

[例]
1 1
.
=> 4 (軌跡は◇の形)

4 5
..#..
#..#.
.#..#
..#..
=> 18

5 10
..........
#########.

450 名前:
..........
.#########
..........
=> 66
[]
[ここ壊れてます]

451 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 15:35:11 ID:oc+BowE6.net]
>>437
x = Math.gcd(H, W);
print((H / x + 1) * ( W / x + 1));

452 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 15:38:07 ID:oc+BowE6.net]
ああ、違うな
壁って長方形の辺上にだけあるのかと思って解いてた

453 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 16:28:39 ID:cRRhYgqa.net]
バーカ

454 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 17:18:49 ID:7s1fJbf+.net]
>>437 Perl5、素直に壁で跳ね返る回数をカウント

for (<DATA>) {
 ($H, $W, @a) = /(\S+)/g;
 @s = map{[map{$_ eq '#'} split '']} @a;
 my %t;
 for $h (0..$H-1) { $t{$h+0.5}{0} = $t{$h+0.5}{$W} = 1;
  for $w (0..$W-1) { $t{0}{$w+0.5} = $t{$H}{$w+0.5} = 1;
   next unless $s[$h][$w];
   $t{$h}{$w+0.5} = $t{$h+0.5}{$w} = $t{$h+0.5}{$w+1} = $t{$h+1}{$w+0.5} = 1;
  }
 }
 ($x, $y, $dx, $dy, $n) = (0.5, 0, 0.5, 0.5, 0);
 do {
  $x += $dx; $y += $dy;
  if ($t{$y}{$x}) {
   $dx = -$dx if $y =~ /\.5/; $dy = -$dy if $x =~ /\.5/;
   $n++;
  }
 } while $x != 0.5 or $y != 0;
 print "$n\n"
}
__DATA__
1 1 .
4 5 ..#.. #..#. .#..# ..#..
5 10 .......... #########. .......... .######### ..........

実行結果
~ $ perl 17_437_bounce.pl
4
18
66

455 名前:デフォルトの名無しさん [2020/05/04(月) 17:58:07.94 ID:IDpBo4iue]
あなたの会社は「お金を介した」依存?全員副業必須の経営がもたらした脱依存
https://www.businessinsider.jp/post-212190
新潟から週2回東京に出勤、サイボウズの複業採用社員に聞く複業ライフのリアル。
https://www.businessinsider.jp/post-166126
兼業でフリーライター、サイボウズ社員・明石悠佳に学ぶパラレルワーク術
https://www.wwdjapan.com/articles/752575
「複業を解禁しなければ人も企業も成長しない」複業全面OKのサイボウズ社長と実践社員の本音対談
https://www.businessinsider.jp/post-33893
育休は最長6年、副業もOK! サイボウズはなぜ「100人100通りの人事制度」を作ったのか
https://logmi.jp/business/articles/50252
年商10億円の“フリーランスの王”に聞く就活論「頭が悪い人ほど大手企業に行く」
https://headlines.yahoo.co.jp/article?a=20200401-00292145-bizspa-bus_all
副業3600万円のブロガー、マジメに確定申告したら税金がヤバいことに…
https://headlines.yahoo.co.jp/article?a=20200320-01649629-sspa-bus_all

456 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 18:29:48 ID:FrWOvyZy.net]
お題
2つの文字列について、文字列を構成する文字が同じで、最初と最後の文字が合っていれば、
その2つの文字列は等価であるとみなす。

文字列がN個与えられる。
上記ルールに従って重複を除去したとき、文字列はいくつ残るか?

(例)
6
programming
odai
prorgamnimg
oadi
pgorgamming
idao
=> 4

457 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 19:25:38 ID:ku0WQYaW.net]
>>443 Perl5、"6"も文字列に含めれば、4

for (<DATA>) {
 @a = /(\w)/g;
 %h = map{$_ => 1} @a;
 $s = $a[0].join('', sort keys %h).$a[-1];
 print "$_ -> $s\n";
 $g{$s}++;
}
print keys(%g)."\n";
__DATA__
6
programming
odai
prorgamnimg
oadi
pgorgamming
idao

実行結果
~ $ perl 17_442_similstr.pl
666 <- 6
pagimnoprg <- programming
oadioi <- odai
pagimnoprg <- prorgamnimg
oadioi <- oadi
pagimnoprg <- pgorgamming
iadioo <- idao
4



458 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 19:32:53 ID:Jy1F1UMD.net]
暇人か

459 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 19:38:37 ID:aNaLc8en.net]
>>443
(defun cambridge-string= (a b)
(and (char= (elt a 0) (elt b 0))
(char= (elt a (1- (length a))) (elt b (1- (length b))))
(string= (sort (copy-seq a) #'char<) (sort (copy-seq b) #'char<))))

(defvar *set* nil)
(dotimes (n (read))
(pushnew (read-line) *set* :test #'cambridge-string=))
(princ (length *set*))
common lispのsortは破壊的だったのか

460 名前:デフォルトの名無しさん [2020/05/04(月) 23:39:20.54 ID:g5q+36pu.net]
>>444
Java
https://paiza.io/projects/YOefZxfsXYBVvIfI9q2z0w

461 名前:デフォルトの名無しさん [2020/05/04(月) 23:43:12.22 ID:g5q+36pu.net]
>>447
おぎゃー
レス番間違えた
>>443
https://paiza.io/projects/YOefZxfsXYBVvIfI9q2z0w

462 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 23:55:30 ID:GlEFtj51.net]
>>443 Ruby

p %[6 programming odai prorgamnimg oadi pgorgamming idao].
uniq{|s| b, *m, e = s.chars; [b, e, m.uniq.sort]}.size

# => 4

463 名前:289 mailto:sage [2020/05/05(火) 07:17:23 ID:JzUmiA6e.net]
>>436
端子の順番は固定ですよ
なので print_map2() では省略しています
print_map() で出力すれば >>286 のフォーマットになります

464 名前:デフォルトの名無しさん [2020/05/05(火) 09:05:10 ID:ZpeQ6MPR.net]
>>443 J

smoutput # ~. <@( /:~ , {. , {:);._2 stdin ''

465 名前:デフォルトの名無しさん [2020/05/05(火) 09:59:56 ID:nQMNje/J.net]
4入力一致の回路
選別

digraph g1 {
subgraph cluster_1 {
label = "Solution_1"
aa_1_0, aa_1_0 -> aa_1_4 ; aa_1_1, aa_1_1 -> aa_1_5 ;
aa_1_3, aa_1_2 -> aa_1_6 ; aa_1_4, aa_1_2 -> aa_1_7 ;
aa_1_5, aa_1_3 -> aa_1_8 ; aa_1_5, aa_1_4 -> aa_1_9 ;
aa_1_8, aa_1_7 -> aa_1_10 ; aa_1_9, aa_1_6 -> aa_1_11 ;
aa_1_10, aa_1_10 -> aa_1_12 ; aa_1_12, aa_1_11 -> aa_1_13 ;
aa_1_13, aa_1_13 -> aa_1_14 ;
}
}

466 名前:デフォルトの名無しさん mailto:sage [2020/05/05(火) 12:20:16 ID:hsugdvwn.net]
>>270
R
https://ideone.com/HALCW7

467 名前:デフォルトの名無しさん [2020/05/05(火) 15:23:47 ID:JDagEH9a.net]
>>443
c++
https://ideone.com/yBU6PG

sortしてuniqするだけ、45行



468 名前:デフォルトの名無しさん mailto:sage [2020/05/05(火) 16:00:33 ID:DwVtkNv1.net]
>>454
> auto end_pt = unique(s.begin(), s.end());
> s.erase(s.end(), end_pt);
バグってるぞ

469 名前:デフォルトの名無しさん mailto:sage [2020/05/05(火) 16:03:15 ID:YfHt+PT9.net]
sortしてuniqするだけなら3になるはずだと思って眺めたら
その前に加えて、先頭と最後の文字の比較もしてるやん
auto equalsBeginBack = [=](string a, string b){
return *a.begin() == *b.begin() && *&a.back() == *&b.back();






[ 続きを読む ] / [ 携帯版 ]

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

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