結果
| 問題 |
No.397 NO MORE KADOMATSU
|
| コンテスト | |
| ユーザー |
fmhr
|
| 提出日時 | 2016-07-15 23:48:37 |
| 言語 | Go (1.23.4) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 797 bytes |
| コンパイル時間 | 14,651 ms |
| コンパイル使用メモリ | 244,420 KB |
| 実行使用メモリ | 25,476 KB |
| 平均クエリ数 | 0.72 |
| 最終ジャッジ日時 | 2024-07-16 10:39:08 |
| 合計ジャッジ時間 | 15,899 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 3 TLE * 1 -- * 14 |
ソースコード
package main
import (
"fmt"
"math/rand"
"sort"
)
func main() {
rand.Seed(42)
var n int
fmt.Scan(&n)
a := make([]int, n)
for i := 0; i < n; i++ {
fmt.Scan(&a[i])
}
ans := make([]int, 0)
for !allNotKadomatsu(a) {
b := rand.Int()%(n)
c := rand.Int()%(n)
for b==c{
b = rand.Int()%(n)
c = rand.Int()%(n)
}
sort.IntSlice(a).Swap(b, c)
ans = append(ans, b)
ans = append(ans, c)
}
fmt.Println(len(ans)/2)
for i := 0; i < len(ans) / 2; i++ {
fmt.Println(ans[i*2], ans[i*2+1])
}
var dummy string
fmt.Scan(&dummy)
}
func allNotKadomatsu(a []int)bool{
l := len(a)
for i:=0;i<l-2;i++{
if isKadomatsu(a[i],a[i+1],a[i+2]){
return false
}
}
return true
}
func isKadomatsu(a, b, c int)bool{
if (b>a && b>c) || (b<a && b<c) {
return true
}
return false
}
fmhr