結果
| 問題 | No.927 Second Permutation |
| コンテスト | |
| ユーザー |
neko_the_shadow
|
| 提出日時 | 2019-12-12 23:21:25 |
| 言語 | Go (1.23.4) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 761 bytes |
| 記録 | |
| コンパイル時間 | 12,993 ms |
| コンパイル使用メモリ | 222,220 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-06-25 22:09:38 |
| 合計ジャッジ時間 | 14,061 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 18 WA * 9 |
ソースコード
package main
import (
"bufio"
"fmt"
"os"
"sort"
"strings"
)
func main() {
stdin := bufio.NewScanner(os.Stdin)
stdin.Split(bufio.ScanWords)
x := read(stdin)
chars := strings.Split(x, "")
sort.Strings(chars)
p := 0
for p < len(chars)-1 && chars[p] == chars[p+1] {
p++
}
ok := false
for i := p; i < len(chars); i++ {
if chars[p] != chars[i] {
chars[p], chars[i] = chars[i], chars[p]
ok = true
break
}
}
if ok {
var sb strings.Builder
for i := len(chars) - 1; i >= 0; i-- {
sb.WriteString(chars[i])
}
y := sb.String()
if strings.HasPrefix(y, "0") {
fmt.Println(-1)
} else {
fmt.Println(y)
}
} else {
fmt.Println(-1)
}
}
func read(stdin *bufio.Scanner) string {
stdin.Scan()
return stdin.Text()
}
neko_the_shadow