X



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

0001デフォルトの名無しさん
垢版 |
2023/08/03(木) 13:52:13.20ID:/xW45k0z
プログラミングのお題スレです。

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

2 名前:デフォルトの名無しさん
 >>1 使用言語
 回答本文
 結果がある場合はそれも

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

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

※前スレ
プログラミングのお題スレ Part21
https://mevius.5ch.net/test/read.cgi/tech/1668333636/
0218デフォルトの名無しさん
垢版 |
2024/02/04(日) 18:32:39.04ID:fS5H2fbQ
>>206
>>215をPowerShellに移植

$in =
  "a1=a2", "b1=b2", "b3=b2", "c1=c2", "e1=e2", "a3=a4", "c3=c4", "e1=e3",
  "a2=a4", "c3=c1", "b3=a4", "c2=d1", "a4=a5", "d2=c1", "b4=b3", "d3=c3"

$in -split "=" |% {$h = @{}; $n = 0} {if (!$h[$_]) {$h[$_] = $n++}}
$eq = $in |% {, $h[$_ -split "="]}

$g = 1..$n
do {
  $changed = $false
  $eq |% {
    $i, $j = $_
    switch ($g[$i] - $g[$j]) {
      {$_ -gt 0} {$g[$i] = $g[$j]; $changed = $true}
      {$_ -lt 0} {$g[$j] = $g[$i]; $changed = $true}
    }
  }
} while ($changed)

$h.keys | sort {$h[$_]} | group {$g[$h[$_]]} |% {"[$($_.group -join ", ")]"}

-- 実行結果 --
[a1, a2, b1, b2, b3, a3, a4, a5, b4]
[c1, c2, c3, c4, d1, d2, d3]
[e1, e2, e3]
0219デフォルトの名無しさん
垢版 |
2024/02/04(日) 19:02:37.59ID:fS5H2fbQ
>>218の5行目の if (!$h[$_]) を if ($h[$_] -eq $null) に訂正
レスを投稿する


ニューススポーツなんでも実況