結果

問題 No.242 ビンゴゲーム
ユーザー fmhrfmhr
提出日時 2015-07-10 23:58:26
言語 Go
(1.22.1)
結果
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
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 WA -
testcase_01 WA -
testcase_02 TLE -
testcase_03 -- -
testcase_04 -- -
testcase_05 -- -
testcase_06 -- -
testcase_07 -- -
testcase_08 -- -
testcase_09 -- -
testcase_10 -- -
権限があれば一括ダウンロードができます

ソースコード

diff #

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
}
0