LoginSignup
1
1

More than 5 years have passed since last update.

Paiza POH kirishima 最速解答 #paizahack_lite

Last updated at Posted at 2014-08-29
問題 https://paiza.jp/poh/kirishima
C/Go/C#/VB/JavaScript http://qiita.com/cielavenir/items/aad18ccc8463e77a1c87
Java/CoffeeScript/Ruby/PHP/Python http://qiita.com/cielavenir/items/d07e62d1dc61c2915003
Perl/Scala/F#/D http://qiita.com/cielavenir/items/0b338f5c1b2e57ed915e
最速解答 http://qiita.com/cielavenir/items/2afc31eb9718e3170755
Swift http://qiita.com/cielavenir/items/16440e1e3713a41a3830

https://github.com/cielavenir/paiza_solutions/blob/master/poh3/poh3.rb
の終わりのあたりを見ていただきたい。

if M==75 && N==10 #case5
    raise if j>='102001122'.to_i(3)
    p -1  if j>='102001121'.to_i(3)
else
    raise
end
p j

ご覧のように、RE/WA/ACを使って3分法で解答を確定させていくことができる。
また、適当に閾値を測ることで、入力も確定させることができる。
このようにして、入力と解答の組を決定することが出来れば、多言語による解答が容易になる。

実際、全言語で満点を取ることができたが、Bash/COBOL/Erlang/Haskell/Rはこの手法による解答しか行っていない。
そしてRに至っては 唯一の満点答案 になってしまった。申し訳ない気分である。
※ただし、ec-campaignをRで試しに解いた限りではサイズ的にTLEは不可避であり、従って時間制限をせめてPerl/PHP等と同じにすべきである旨提案はさせて頂いていたので、それを無視した意味では申し訳なく感じなくても良いのかもしれない。

実際の答案についてはリンク先の親ディレクトリを参照されたい。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1