結果
| 問題 |
No.242 ビンゴゲーム
|
| コンテスト | |
| ユーザー |
fmhr
|
| 提出日時 | 2015-07-10 23:58:26 |
| 言語 | Go (1.23.4) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,313 bytes |
| コンパイル時間 | 11,029 ms |
| コンパイル使用メモリ | 223,476 KB |
| 実行使用メモリ | 13,768 KB |
| 最終ジャッジ日時 | 2024-10-10 19:12:11 |
| 合計ジャッジ時間 | 15,559 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | WA * 2 TLE * 1 |
| other | -- * 8 |
ソースコード
package main
import (
"fmt"
"math/rand"
"time"
)
var N int
func main() {
fmt.Scan(&N)
solve()
}
// TODO: 1~99から効率よく重複なしでN個取り出す 特に99個のとき
// TODO:
func solve(){
var a [5][5]int
rand.Seed(time.Now().UnixNano())
count := 0
o := 100000
var r int
for j:=0; j<o; j++ {
for i := 0; i<5; i++ {
for jj := 0; jj<5; jj++ {
a[i][jj]=rand.Intn(99)+1
}
}
b := make([]int, N)
var c [5][5]int
for i := 0; i<N; i++ {
r = rand.Intn(99)+1
for check(r, b) {
r = rand.Intn(99)+1
}
b[i] = r
}
//fmt.Println(b)
//fmt.Println(a)
for x:=0; x<5; x++{
for y:=0; y<5; y++{
for q:=0; q<N; q++{
if a[x][y]==b[q]{
c[x][y]=-1
}
}
}
}
//fmt.Println(c)
for x:=0; x<5; x++{
if c[x][0]==-1&&c[x][1]==-1&&c[x][2]==-1&&c[x][3]==-1&&c[x][4]==-1{
count ++
}
if c[0][x]==-1&&c[1][x]==-1&&c[2][x]==-1&&c[3][x]==-1&&c[4][x]==-1{
count++
}
}
if c[0][0]==c[1][1]&&c[2][2]==c[3][3]&&c[4][4]==c[0][0]&&c[0][0]!=0{
count++
}
if c[0][4]==c[1][3]&&c[2][2]==c[3][1]&&c[4][0]==c[0][4]&&c[0][0]!=0{
count++
}
//fmt.Println(count)
}
fmt.Println(float64(count)/float64(o))
}
func check(x int, b []int)bool{
for i:=0; i<len(b); i++ {
if x == b[i]{
return true
}
}
return false
}
fmhr