paiza POH logic_summoner ロジックサマナー #コード詠唱


召喚に使ったアイテムと称号の対応表を作るのは面倒だったので中止で

ファイル名が11〜なのはmoshijoを9、hundred_thousandを10として扱っているからです(hundred_thousandの記事は週末に出します)

召喚の書

  • 優遇されている言語にpaizaのこだわりを(略)

召喚の書:竜 [Ruby]

  • ゲーム開始時に自動入力される

召喚の書:翼 [PHP]

11a1.rb
#!/usr/bin/ruby
n=gets.to_i;s=gets.chomp
a=[]
(1..n).each{|i|a.send(s[i-1]==?L ? :unshift : :push,i)}
puts a*' '

召喚の書:獣 [C]

  • さすがに(思考停止)
11a2.sh
#!/bin/sh
dd

召喚の書:妖 [Java]

11a3.rb
#!/usr/bin/ruby
puts gets.chomp==gets.chomp ? :OK : :NG

生け贄

白い祈りの角笛

11b1.rb
#!/usr/bin/ruby
puts ('b'+gets.chomp).chars.chunk{|e|e}.map.with_index{|(k,v),i|v.size-(i==0?1:0)}*' '

夜との契約

  • 不明な数字が2個だけなので斜めの判定は不要です
11b2.rb
#!/usr/bin/ruby
N=gets.to_i
T=N*(N*N+1)/2
def f(a)
    [a,a.transpose].all?{|b|b.all?{|e|e.reduce(:+)==T}}
end
a=$<.map{|e|e.split.map(&:to_i)}
q=[];g=[]
N.times{|i|N.times{|j|
    if a[i][j]==0
        q<<[i,j]
    else
        g<<a[i][j]
    end
}}
g=[*1..N*N]-g
q.permutation{|x,y|
    a[x[0]][x[1]]=g[0]
    a[y[0]][y[1]]=g[1]
    f(a) and puts a.map{|e|e*' '}
}

宝具

色変えメイク

11c1.rb
#!/usr/bin/ruby
puts `dd`.count(?A)*100

惚れ薬

11c2.rb
#!/usr/bin/ruby
n,m,a,b,*c=`dd`.split.map(&:to_i)
c.each{|e|
    m+=e
    if e<0
        if m<0
            p -1
            break
        end
        if m<=a
            m+=b
        end
    end
}
p m

王冠

11c3.rb
#!/usr/bin/ruby
x=gets.count(?1)-gets.to_i
puts x>0?:No:-x

スパイス

javaの木

11d1.rb
#!/usr/bin/ruby
a,b,c,d=`dd`.split.map(&:to_i)
p a*d>c*b ? b : d

rubyの原石

  • paiza(.io)で実行する際は、言語をBashにして、2行目をawk ''で囲って下さい
11d2.awk
#!/usr/bin/awk -f
$0=$1*$2

pythonリング

11d3.awk
#!/usr/bin/awk -f
$0=$1+50>100?100:$1+50

歯車typeC

11d4.rb
#!/usr/bin/ruby
h=Hash.new{|h,k|h[k]=''.dup} # Ruby3
gets.to_i.times{a,b=gets.split;h[a.to_i]<<b}
puts h.sort.map{|e|e*' '}

JSの羽

  • マラソンマッチ問題には割と言えることだけど、無を出力すれば正解扱いになる問題が多いよね。
  • 締め切り後にちゃんとした解答を公開するかは未定。
11d5.php
0

天球儀

  • paiza問題なので公開できません