結果
問題 | No.133 カードゲーム |
ユーザー |
|
提出日時 | 2018-03-07 21:46:42 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 1,023 bytes |
コンパイル時間 | 15,050 ms |
コンパイル使用メモリ | 219,284 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-25 04:27:28 |
合計ジャッジ時間 | 15,714 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 19 |
ソースコード
///// File: 133.go// Author: ymiyamoto//// Created on Tue Mar 6 23:44:21 2018//package mainimport ("fmt")var N intfunc perm(arr []int) [][]int {if len(arr) == 1 {return [][]int{arr}}per := perm(arr[1:])var ret [][]intfor _, val := range per {for i := 0; i <= len(val); i++ {tmp := make([]int, len(val))copy(tmp, val)tmp = append(tmp, 0)copy(tmp[i+1:], tmp[i:])tmp[i] = arr[0]ret = append(ret, tmp)}}return ret}func main() {fmt.Scan(&N)A := make([]int, N)B := make([]int, N)for i := 0; i < N; i++ {fmt.Scan(&A[i])}for i := 0; i < N; i++ {fmt.Scan(&B[i])}permA := perm(A)permB := perm(B)var winA, winB intfor i := 0; i < len(permA); i++ {for j := 0; j < len(permB); j++ {var a, b intfor k := 0; k < len(permA[i]); k++ {if permA[i][k] > permB[j][k] {a++} else {b++}}if a > b {winA++} else {winB++}}}fmt.Println(float64(winA) / float64(winA+winB))}