結果
| 問題 |
No.1369 交換門松列・竹
|
| コンテスト | |
| ユーザー |
siman
|
| 提出日時 | 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
siman