結果
問題 | No.26 シャッフルゲーム |
ユーザー | yo-kondo |
提出日時 | 2018-03-10 13:28:43 |
言語 | Go (1.22.1) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 1,182 bytes |
コンパイル時間 | 14,034 ms |
コンパイル使用メモリ | 227,228 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-13 08:26:51 |
合計ジャッジ時間 | 11,942 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 1 ms
5,248 KB |
testcase_01 | AC | 1 ms
5,248 KB |
testcase_02 | AC | 1 ms
5,248 KB |
testcase_03 | AC | 1 ms
5,248 KB |
testcase_04 | AC | 1 ms
5,248 KB |
testcase_05 | AC | 1 ms
5,248 KB |
testcase_06 | AC | 1 ms
5,248 KB |
testcase_07 | AC | 1 ms
5,248 KB |
testcase_08 | AC | 2 ms
5,248 KB |
testcase_09 | AC | 1 ms
5,248 KB |
ソースコード
package main import ( "bufio" "fmt" "os" "strconv" "strings" ) // エントリポイント func main() { in := bufio.NewScanner(os.Stdin) in.Scan() // 最初に○印が付いているカップの位置 input1 := in.Text() in.Scan() // カップを入れ替えた回数 input2 := in.Text() // 入れ替えるカップの位置番号 input3 := make([]string, 0) for in.Scan() { input3 = append(input3, in.Text()) } fmt.Println(shuffleGame(input1, input2, input3)) } // ○のついているカップの位置を特定する。 func shuffleGame(circleCupPos string, cupReplaceNum string, shuffleCupPos []string) string { _ = cupReplaceNum // カップ cup := [3]bool{} pos, _ := strconv.Atoi(circleCupPos) cup[pos-1] = true // 入れ替え for _, v := range shuffleCupPos { swaps := strings.Split(v, " ") i, _ := strconv.Atoi(swaps[0]) j, _ := strconv.Atoi(swaps[1]) swap(&cup, i-1, j-1) } // trueの番地を探す for i1, v2 := range cup { if v2 == true { return strconv.Itoa(i1 + 1) } } return "" } // 配列のi番目とj番目を入れ替える。 func swap(cup *[3]bool, i int, j int) { cup[i], cup[j] = cup[j], cup[i] }