結果
問題 | No.3 ビットすごろく |
ユーザー |
|
提出日時 | 2020-04-17 12:26:13 |
言語 | Go (1.23.4) |
結果 |
WA
|
実行時間 | - |
コード長 | 813 bytes |
コンパイル時間 | 11,780 ms |
コンパイル使用メモリ | 222,776 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-03 10:12:55 |
合計ジャッジ時間 | 12,760 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 31 WA * 2 |
ソースコード
package mainimport ("bufio""fmt""os""strconv")var sc = bufio.NewScanner(os.Stdin)func Scanner() string {sc.Scan()return sc.Text()}func main() {buf := make([]byte, 0)sc.Buffer(buf, 100000007)sc.Split(bufio.ScanWords)n, _ := strconv.Atoi(Scanner())trans := make(map[int]int)fer := []int{1}ans := -1for i, j := 1, []int{}; len(fer) > 0; i, fer, j = i+1, j, nil {for _, k := range fer {if k == n {ans = ibreak} else if trans[k] == 0 {trans[k] = 1dis := count(k)m := k + disl := k - disif m <= n {j = append(j, m)}if l > 0 {j = append(j, l)}}}}fmt.Println(ans)}func count(k int) int {str := fmt.Sprintf("%b", k)c := 0for _, s := range str {if s == '1' {c += 1}}return c}