結果
問題 |
No.170 スワップ文字列(Easy)
|
ユーザー |
![]() |
提出日時 | 2019-03-12 12:57:50 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 41 ms / 5,000 ms |
コード長 | 671 bytes |
コンパイル時間 | 11,722 ms |
コンパイル使用メモリ | 219,060 KB |
実行使用メモリ | 10,948 KB |
最終ジャッジ日時 | 2024-06-23 15:45:47 |
合計ジャッジ時間 | 13,091 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 |
ソースコード
package main import "fmt" func main() { var s string _, _ = fmt.Scan(&s) src := make([]string, 0) for _, c := range s { src = append(src, string(c)) } p := make(map[string]int, 0) for _, str := range permutation170(src, "") { p[str]++ } fmt.Println(len(p) - 1) } func permutation170(src []string, dst string) []string { r := make([]string, 0) for i, c := range src { if len(src)-1 == 0 { r = append(r, dst+string(c)) } else { nSrc := make([]string, len(src[:i])) copy(nSrc, src[:i]) nSrc = append(nSrc, src[i+1:]...) // fmt.Println(dst, i, c, src, nSrc) r = append(r, permutation170(nSrc, dst+string(c))...) } } return r }