結果
問題 |
No.1004 サイコロの実装 (2)
|
ユーザー |
![]() |
提出日時 | 2020-03-06 21:43:56 |
言語 | Go (1.23.4) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,143 bytes |
コンパイル時間 | 15,414 ms |
コンパイル使用メモリ | 224,260 KB |
実行使用メモリ | 13,640 KB |
最終ジャッジ日時 | 2024-10-14 04:59:20 |
合計ジャッジ時間 | 19,305 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 24 TLE * 1 -- * 13 |
ソースコード
package main import ( "bufio" "fmt" "os" "strconv" ) func min(x, y int) int { if x < y { return x } return y } func main() { var ( a uint32 b uint32 x uint32 ) a = uint32(readInt()) b = uint32(readInt()) x = uint32(readInt()) N := readInt() p0 := 0 p1 := 0 bs0 := 0 ws0 := 0 bs1 := 0 ws1 := 0 for i := 0; i < N; i++ { x = a*x + b p0 += int(x%6) + 1 if p0&1 == 1 { bs0++ } else { ws0++ } x = a*x + b p1 += int(x%6) + 1 if p1&1 == 1 { bs1++ } else { ws1++ } } fmt.Printf("%d %d \n", min(bs0, ws0), min(bs1, ws1)) } const ( ioBufferSize = 1 * 1024 * 1024 // 1 MB ) var stdinScanner = func() *bufio.Scanner { result := bufio.NewScanner(os.Stdin) result.Buffer(make([]byte, ioBufferSize), ioBufferSize) result.Split(bufio.ScanWords) return result }() func readString() string { stdinScanner.Scan() return stdinScanner.Text() } func readInt() int { result, err := strconv.Atoi(readString()) if err != nil { panic(err) } return result } func readInts(n int) []int { result := make([]int, n) for i := 0; i < n; i++ { result[i] = readInt() } return result }