We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
https://atcoder.jp/contests/abc320/tasks/abc320_c
3個のリールからなるスロットがある。 どの順番でボタンを押してもいいので、3個のリールの文字を揃えるのに最短の時間を求めよ。
実装が面倒くさいただの全探索。
というのをやればいい。 秒数が経過後のリールの状態を求めるのに、スライスを指定したidxで区切って反転させる splitAndReverse を作ったら便利だった。
splitAndReverse
func solve() { m := getInt() ss := [][]string{strToSlice(getStr(), ""), strToSlice(getStr(), ""), strToSlice(getStr(), "")} perm := rangeSlice(3) ans := BIGGEST for { for i := 0; i < m; i++ { cnt := i first := splitAndReverse(ss[perm[0]], i) target := first[0] second := splitAndReverse(ss[perm[1]], (cnt + 1) % m) foundSecond := false var j int for j = 0; j < m; j++ { if second[j] == target { cnt += j + 1 foundSecond = true break } } if !foundSecond { continue } third := splitAndReverse(ss[perm[2]], (cnt + 1) % m) foundThird := false var k int for k = 0; k < m; k++ { if third[k] == target { cnt += k + 1 foundThird = true break } } if !foundThird { continue } ans = min(ans, cnt) } if !nextPermutation(sort.IntSlice(perm)) { break } } if ans == BIGGEST { fmt.Println(-1) } else { fmt.Println(ans) } } func splitAndReverse[T any](slice []T, index int) []T { if index < 0 || index >= len(slice) { panic("index out of range") } front := slice[:index] back := slice[index:] return append(back, front...) }
https://atcoder.jp/contests/abc320/submissions/60927898
The text was updated successfully, but these errors were encountered:
No branches or pull requests
https://atcoder.jp/contests/abc320/tasks/abc320_c
問題概要
3個のリールからなるスロットがある。
どの順番でボタンを押してもいいので、3個のリールの文字を揃えるのに最短の時間を求めよ。
解き方
実装が面倒くさいただの全探索。
というのをやればいい。
秒数が経過後のリールの状態を求めるのに、スライスを指定したidxで区切って反転させる
splitAndReverse
を作ったら便利だった。https://atcoder.jp/contests/abc320/submissions/60927898
The text was updated successfully, but these errors were encountered: