結果
問題 | 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 == 1x = xs[0]if x.denominator == 1 and x >= 0Set.new [x.to_i]elseSet.new []endelsea = Set.newx = xs.shifty = xs.shiftcan = []can << x + ycan << x - ycan << y - xcan << x * ycan << y / x if x != 0can << x / y if y != 0can.each do |z|a += dfs([z] + xs)endaendenddef solve(n)a = (1..n).to_a.map { |i| Rational(i, 1) }dfs(a).to_a.sortendm, n = gets.chomp.split.map(&:to_i)puts m < 3 && n == 0 ? :Impossible : :Possible