Submission #26668291


Source Code Expand

Copy
#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
#AB
#AB
#bothboth-1AB
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#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
AC × 3
AC × 48
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


2025-04-09 (Wed)
09:48:41 +00:00