結果
| 問題 |
No.170 スワップ文字列(Easy)
|
| コンテスト | |
| ユーザー |
tsuchinaga
|
| 提出日時 | 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
}
tsuchinaga