結果
問題 |
No.1369 交換門松列・竹
|
ユーザー |
![]() |
提出日時 | 2022-11-16 06:35:07 |
言語 | Ruby (3.4.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 805 bytes |
コンパイル時間 | 162 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 15,488 KB |
最終ジャッジ日時 | 2024-09-17 04:48:22 |
合計ジャッジ時間 | 5,869 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge6 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 17 WA * 16 |
コンパイルメッセージ
Syntax OK
ソースコード
T = gets.to_i def is_kadomatsu(arr) arr.each_cons(3).each do |a, b, c| return false if a == b return false if a == c return false if b == c return false if a < b && b < c return false if a > b && b > c end true end T.times do n = gets.to_i arr = gets.split.map(&:to_i) idx = -1 1.upto(n - 2) do |i| a = arr[i - 1] b = arr[i] c = arr[i + 1] if a == b || a == c || b == c idx = i break end next if a < b && b > c next if a > b && b < c idx = i break end ok = false (idx - 1..[idx + 2, n - 2].min).each do |i| arr[i], arr[i + 1] = arr[i + 1], arr[i] if is_kadomatsu(arr) ok = true end arr[i], arr[i + 1] = arr[i + 1], arr[i] end if ok puts 'Yes' else puts 'No' end end