結果
| 問題 |
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