Submission #2177008
Source Code Expand
package main import ( "fmt" "sort" ) type set struct { s []int } var N, K int var S string func remove(set []int, a int) []int { s := make([]int, len(set)) copy(s, set) for i := range s { if a == s[i] { return append(s[:i], s[i+1:]...) } } panic("not found") } func min(a, b int) int { if a < b { return a } return b } func abs(a int) int { if a > 0 { return a } return -a } func diffs(T []int, rests []int) bool { same := 0 for i := range T { if int(S[i]) == T[i] { same++ } } setS := map[int]int{} setRests := map[int]int{} for i := len(T); i < len(S); i++ { setS[int(S[i])]++ } for i := range rests { setRests[int(rests[i])]++ } for key, val := range setS { same += min(val, setRests[key]) } return len(S)-same <= K } func main() { fmt.Scan(&N, &K) fmt.Scan(&S) var set []int for i := range S { set = append(set, int(S[i])) } sort.Ints(set) var T []int for j := 0; j < len(S); j++ { for _, s := range set { remSet := remove(set, s) if diffs(append(T, s), remSet) { T = append(T, s) set = remSet goto next } } T = append(T, set[0]) set = remove(set, int(set[0])) next: } for _, t := range T { fmt.Print(string(uint8(t))) } fmt.Println() }
Submission Info
Submission Time | |
---|---|
Task | C - 辞書式順序ふたたび |
User | mohei |
Language | Go (1.6) |
Score | 100 |
Code Size | 1346 Byte |
Status | AC |
Exec Time | 39 ms |
Memory | 5504 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | hand_1_0.txt, hand_1_1.txt, hand_1_2.txt, hand_1_3.txt, hand_1_4.txt, hand_1_5.txt, hand_1_6.txt, hand_1_7.txt, hand_1_8.txt, hand_2_0.txt, hand_2_1.txt, hand_2_10.txt, hand_2_2.txt, hand_2_3.txt, hand_2_4.txt, hand_2_5.txt, hand_2_6.txt, hand_2_7.txt, hand_2_8.txt, hand_2_9.txt, hand_3_2.txt, hand_3_3.txt, hand_3_4.txt, hand_3_5.txt, hand_3_6.txt, hand_4_2.txt, hand_4_3.txt, hand_4_4.txt, hand_4_5.txt, hand_4_6.txt, random_1.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_2.txt, random_3.txt, random_4.txt, random_5.txt, random_6.txt, random_7.txt, random_8.txt, random_9.txt, sample_1.txt, sample_2.txt, sample_3.txt, sample_4.txt, small_1.txt, small_2.txt, small_3.txt, small_4.txt, small_5.txt, small_6.txt, small_7.txt, small_8.txt, small_9.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
hand_1_0.txt | AC | 1 ms | 512 KB |
hand_1_1.txt | AC | 1 ms | 512 KB |
hand_1_2.txt | AC | 1 ms | 512 KB |
hand_1_3.txt | AC | 1 ms | 512 KB |
hand_1_4.txt | AC | 1 ms | 512 KB |
hand_1_5.txt | AC | 1 ms | 512 KB |
hand_1_6.txt | AC | 1 ms | 512 KB |
hand_1_7.txt | AC | 1 ms | 512 KB |
hand_1_8.txt | AC | 1 ms | 512 KB |
hand_2_0.txt | AC | 1 ms | 512 KB |
hand_2_1.txt | AC | 1 ms | 512 KB |
hand_2_10.txt | AC | 1 ms | 512 KB |
hand_2_2.txt | AC | 1 ms | 512 KB |
hand_2_3.txt | AC | 1 ms | 512 KB |
hand_2_4.txt | AC | 1 ms | 512 KB |
hand_2_5.txt | AC | 1 ms | 512 KB |
hand_2_6.txt | AC | 1 ms | 512 KB |
hand_2_7.txt | AC | 1 ms | 512 KB |
hand_2_8.txt | AC | 1 ms | 512 KB |
hand_2_9.txt | AC | 1 ms | 512 KB |
hand_3_2.txt | AC | 1 ms | 512 KB |
hand_3_3.txt | AC | 1 ms | 512 KB |
hand_3_4.txt | AC | 1 ms | 512 KB |
hand_3_5.txt | AC | 1 ms | 512 KB |
hand_3_6.txt | AC | 1 ms | 512 KB |
hand_4_2.txt | AC | 1 ms | 640 KB |
hand_4_3.txt | AC | 1 ms | 640 KB |
hand_4_4.txt | AC | 1 ms | 512 KB |
hand_4_5.txt | AC | 1 ms | 512 KB |
hand_4_6.txt | AC | 1 ms | 512 KB |
random_1.txt | AC | 2 ms | 896 KB |
random_10.txt | AC | 32 ms | 5504 KB |
random_11.txt | AC | 28 ms | 4736 KB |
random_12.txt | AC | 24 ms | 4608 KB |
random_13.txt | AC | 14 ms | 3072 KB |
random_14.txt | AC | 5 ms | 1280 KB |
random_15.txt | AC | 3 ms | 768 KB |
random_2.txt | AC | 4 ms | 1408 KB |
random_3.txt | AC | 3 ms | 896 KB |
random_4.txt | AC | 9 ms | 2304 KB |
random_5.txt | AC | 2 ms | 768 KB |
random_6.txt | AC | 10 ms | 2560 KB |
random_7.txt | AC | 33 ms | 5376 KB |
random_8.txt | AC | 39 ms | 5504 KB |
random_9.txt | AC | 37 ms | 5376 KB |
sample_1.txt | AC | 1 ms | 512 KB |
sample_2.txt | AC | 1 ms | 512 KB |
sample_3.txt | AC | 1 ms | 512 KB |
sample_4.txt | AC | 1 ms | 512 KB |
small_1.txt | AC | 1 ms | 512 KB |
small_2.txt | AC | 1 ms | 512 KB |
small_3.txt | AC | 1 ms | 512 KB |
small_4.txt | AC | 1 ms | 512 KB |
small_5.txt | AC | 1 ms | 512 KB |
small_6.txt | AC | 1 ms | 512 KB |
small_7.txt | AC | 1 ms | 512 KB |
small_8.txt | AC | 1 ms | 512 KB |
small_9.txt | AC | 1 ms | 512 KB |