Submission #26668291
Source Code Expand
Copy
#inputn = int(input())both = 0a_end = 0b_start = 0answer = 0for i in range(n):s = str(input())answer += s.count("AB")if s[0] == "B" and s[-1] == "A":both += 1elif s[0] == "B":b_start += 1elif s[-1] == "A":a_end += 1#output#文字そのものの中にABが何個含まれているかをまず数える#その次に、Aで終わる、またはBで始まる文字を数える。#Aで終わり、かつBで始まる文字もあるだろう。#bothは可能な限り自分で連結する。するとboth-1個のABが作られる。
#input n = int(input()) both = 0 a_end = 0 b_start = 0 answer = 0 for i in range(n): s = str(input()) answer += s.count("AB") if s[0] == "B" and s[-1] == "A": both += 1 elif s[0] == "B": b_start += 1 elif s[-1] == "A": a_end += 1 #output #文字そのものの中にABが何個含まれているかをまず数える #その次に、Aで終わる、またはBで始まる文字を数える。 #Aで終わり、かつBで始まる文字もあるだろう。 #bothは可能な限り自分で連結する。するとboth-1個のABが作られる。 if both > 1: answer += both-1 #その後bothの頭にあればa_endを、お尻にb_startを連結。 if both > 0 and a_end > 0: answer += 1 a_end -= 1 if both > 0 and b_start > 0: answer += 1 b_start -= 1 #a_endとb_startで作れるだけABを作る answer += min(a_end, b_start) print(answer)
Submission Info
Submission Time | |
---|---|
Task | C - AB Substrings |
User | denovo2021 |
Language | Python (3.8.2) |
Score | 400 |
Code Size | 938 Byte |
Status | AC |
Exec Time | 42 ms |
Memory | 9036 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
All | rand_01.txt, rand_02.txt, rand_03.txt, rand_04.txt, rand_05.txt, rand_06.txt, rand_07.txt, rand_08.txt, rand_09.txt, rand_10.txt, rand_11.txt, rand_12.txt, rand_13.txt, rand_14.txt, rand_15.txt, rand_16.txt, rand_17.txt, rand_18.txt, rand_19.txt, rand_20.txt, rand_21.txt, rand_22.txt, rand_23.txt, rand_24.txt, rand_25.txt, rand_26.txt, rand_27.txt, rand_28.txt, rand_29.txt, rand_30.txt, rand_31.txt, rand_32.txt, rand_33.txt, rand_34.txt, rand_35.txt, rand_36.txt, rand_37.txt, rand_38.txt, rand_39.txt, rand_40.txt, rand_41.txt, rand_42.txt, rand_43.txt, rand_44.txt, rand_45.txt, sample_01.txt, sample_02.txt, sample_03.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
rand_01.txt | AC | 42 ms | 8880 KB |
rand_02.txt | AC | 38 ms | 9028 KB |
rand_03.txt | AC | 42 ms | 8936 KB |
rand_04.txt | AC | 42 ms | 8888 KB |
rand_05.txt | AC | 34 ms | 8780 KB |
rand_06.txt | AC | 40 ms | 8812 KB |
rand_07.txt | AC | 39 ms | 9004 KB |
rand_08.txt | AC | 38 ms | 9008 KB |
rand_09.txt | AC | 30 ms | 8944 KB |
rand_10.txt | AC | 33 ms | 9036 KB |
rand_11.txt | AC | 22 ms | 8876 KB |
rand_12.txt | AC | 27 ms | 9016 KB |
rand_13.txt | AC | 37 ms | 8912 KB |
rand_14.txt | AC | 35 ms | 8804 KB |
rand_15.txt | AC | 29 ms | 9000 KB |
rand_16.txt | AC | 26 ms | 8888 KB |
rand_17.txt | AC | 23 ms | 8852 KB |
rand_18.txt | AC | 23 ms | 8932 KB |
rand_19.txt | AC | 25 ms | 8992 KB |
rand_20.txt | AC | 29 ms | 8792 KB |
rand_21.txt | AC | 38 ms | 8776 KB |
rand_22.txt | AC | 41 ms | 9028 KB |
rand_23.txt | AC | 37 ms | 8788 KB |
rand_24.txt | AC | 40 ms | 9028 KB |
rand_25.txt | AC | 40 ms | 8776 KB |
rand_26.txt | AC | 34 ms | 8912 KB |
rand_27.txt | AC | 37 ms | 9036 KB |
rand_28.txt | AC | 32 ms | 8932 KB |
rand_29.txt | AC | 33 ms | 8996 KB |
rand_30.txt | AC | 30 ms | 8876 KB |
rand_31.txt | AC | 22 ms | 8800 KB |
rand_32.txt | AC | 34 ms | 8780 KB |
rand_33.txt | AC | 28 ms | 9012 KB |
rand_34.txt | AC | 25 ms | 9028 KB |
rand_35.txt | AC | 28 ms | 8776 KB |
rand_36.txt | AC | 32 ms | 9032 KB |
rand_37.txt | AC | 30 ms | 8872 KB |
rand_38.txt | AC | 35 ms | 9036 KB |
rand_39.txt | AC | 32 ms | 9012 KB |
rand_40.txt | AC | 36 ms | 9012 KB |
rand_41.txt | AC | 33 ms | 8808 KB |
rand_42.txt | AC | 27 ms | 8860 KB |
rand_43.txt | AC | 28 ms | 8940 KB |
rand_44.txt | AC | 30 ms | 9000 KB |
rand_45.txt | AC | 32 ms | 9028 KB |
sample_01.txt | AC | 20 ms | 8768 KB |
sample_02.txt | AC | 19 ms | 8872 KB |
sample_03.txt | AC | 26 ms | 9012 KB |