結果
問題 |
No.532 Possible or Impossible
|
ユーザー |
|
提出日時 | 2017-06-30 17:35:54 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 93 ms / 2,000 ms |
コード長 | 587 bytes |
コンパイル時間 | 309 ms |
コンパイル使用メモリ | 7,296 KB |
実行使用メモリ | 12,416 KB |
最終ジャッジ日時 | 2024-10-04 18:41:01 |
合計ジャッジ時間 | 3,434 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 23 |
コンパイルメッセージ
Syntax OK
ソースコード
require 'set' def dfs(xs) if xs.size == 1 x = xs[0] if x.denominator == 1 and x >= 0 Set.new [x.to_i] else Set.new [] end else a = Set.new x = xs.shift y = xs.shift can = [] can << x + y can << x - y can << y - x can << x * y can << y / x if x != 0 can << x / y if y != 0 can.each do |z| a += dfs([z] + xs) end a end end def solve(n) a = (1..n).to_a.map { |i| Rational(i, 1) } dfs(a).to_a.sort end m, n = gets.chomp.split.map(&:to_i) puts m < 3 && n == 0 ? :Impossible : :Possible