CSES - AB-merkkijonot Annettuna on kaksi samanpituista merkkijonoa, jotka molemmat koostuvat merkeistä A ja B. Tehtäväsi on laskea, moniko ensimmäisen merkkijonon osajono on toisen merkkijonon samassa kohdassa olevan osajonon anagrammi.

Kaiksi merkkijonoa ovat toistensa anagrammeja, jos niissä on jokaista merkkiä yhtä monta. Voit olettaa, että merkkijonojen pituudet on enintään $10^5$.

Toteuta tiedostoon abstrings.py funktio count, joka ilmoittaa osajonojen määrän.
def count(a, b):
    # TODO

if __name__ == "__main__":
    print(count("AAA", "BBB")) # 0
    print(count("AB", "BA")) # 1
    print(count("AA", "AA")) # 3
    print(count("ABA", "BAB")) # 2
    print(count("AAABBB", "BBBAAA")) # 3
    print(count("AABABBBA", "BAABABAB")) # 13
Selitys: Esimerkiksi merkkijonoille AAABBB ja BBBAAA kelvolliset osajonot tummennettuina ovat:
  • AAABBB BBBAAA
  • AAABBB BBBAAA
  • AAABBB BBBAAA
Merkkijonoille AA ja AA kaikki osajonot ovat kelvollisia:
  • AA AA
  • AA AA
  • AA AA