Submission #55827317
Source Code Expand
N,K = gets.split.map(&:to_i)
S,C1 = gets.chomp.bytes.then{|s|
t = s.tally
u = t.keys.select{|c| 1<t[c] }
next s.map{|b| u.index(b)||u.size },u.size
}
S1 = S.count C1
P1 = S1.downto(1).inject(1){_1*_2}
T = Hash.new 0
F = lambda{|ts,ss|
if ss.empty?
T[ts.inject(0){|a,c| a*10+c }] += 1 if (N-K+1).times.none?{|i|
(K/2).times.all?{|j|
ts[i+j]!=C1 && ts[i+j]==ts[i+K+~j]
}
}
else
ss.uniq.each{|c|
ts.push ss.delete_at ss.index c
F[ts,ss]
ss.push ts.pop
}
end
}
F[[],S]
p T.size*P1
Submission Info
| Submission Time | |
|---|---|
| Task | C - Avoid K Palindrome 2 |
| User | ds14050 |
| Language | Ruby (ruby 3.2.2) |
| Score | 300 |
| Code Size | 536 Byte |
| Status | AC |
| Exec Time | 584 ms |
| Memory | 20100 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 300 / 300 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | example_00.txt, example_01.txt, example_02.txt |
| All | example_00.txt, example_01.txt, example_02.txt, hand_00.txt, hand_01.txt, hand_02.txt, hand_03.txt, hand_04.txt, hand_05.txt, hand_06.txt, random_00.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, random_21.txt, random_22.txt, random_23.txt, random_24.txt, random_25.txt, random_26.txt, random_27.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| example_00.txt | AC | 45 ms | 17052 KiB |
| example_01.txt | AC | 46 ms | 17400 KiB |
| example_02.txt | AC | 144 ms | 18836 KiB |
| hand_00.txt | AC | 47 ms | 17088 KiB |
| hand_01.txt | AC | 47 ms | 17248 KiB |
| hand_02.txt | AC | 45 ms | 17096 KiB |
| hand_03.txt | AC | 47 ms | 17192 KiB |
| hand_04.txt | AC | 47 ms | 17388 KiB |
| hand_05.txt | AC | 548 ms | 20100 KiB |
| hand_06.txt | AC | 555 ms | 20008 KiB |
| random_00.txt | AC | 46 ms | 17356 KiB |
| random_01.txt | AC | 46 ms | 17124 KiB |
| random_02.txt | AC | 46 ms | 17436 KiB |
| random_03.txt | AC | 48 ms | 17388 KiB |
| random_04.txt | AC | 47 ms | 17548 KiB |
| random_05.txt | AC | 47 ms | 17412 KiB |
| random_06.txt | AC | 53 ms | 17508 KiB |
| random_07.txt | AC | 51 ms | 17492 KiB |
| random_08.txt | AC | 52 ms | 17404 KiB |
| random_09.txt | AC | 74 ms | 17648 KiB |
| random_10.txt | AC | 52 ms | 17620 KiB |
| random_11.txt | AC | 584 ms | 20016 KiB |
| random_12.txt | AC | 53 ms | 17532 KiB |
| random_13.txt | AC | 53 ms | 17644 KiB |
| random_14.txt | AC | 54 ms | 17612 KiB |
| random_15.txt | AC | 50 ms | 17516 KiB |
| random_16.txt | AC | 59 ms | 17512 KiB |
| random_17.txt | AC | 54 ms | 17512 KiB |
| random_18.txt | AC | 46 ms | 17188 KiB |
| random_19.txt | AC | 46 ms | 17132 KiB |
| random_20.txt | AC | 48 ms | 17264 KiB |
| random_21.txt | AC | 46 ms | 17616 KiB |
| random_22.txt | AC | 54 ms | 17528 KiB |
| random_23.txt | AC | 63 ms | 17504 KiB |
| random_24.txt | AC | 57 ms | 17500 KiB |
| random_25.txt | AC | 57 ms | 17392 KiB |
| random_26.txt | AC | 533 ms | 19992 KiB |
| random_27.txt | AC | 530 ms | 19948 KiB |