AtCoder Beginner Contest 447 C

https://atcoder.jp/contests/abc447/tasks/abc447_c

尺取り法的にカウントしていけばよいです。

F <- function(S, T) {
    k <- 1
    l <- 1
    L1 <- nchar(S)
    L2 <- nchar(T)

    counter <- 0
    while(k <= L1 && l <= L2) {
        c1 <- substr(S, k, k)
        c2 <- substr(T, l, l)
        if(c1 == c2) {
            k <- k + 1
            l <- l + 1
        } else if(c1 == "A") {
            k <- k + 1
            counter <- counter + 1
        } else if(c2 == "A") {
            l <- l + 1
            counter <- counter + 1
        } else {
            return(-1)
        }
    }
    
    if(k <= L1) {
        for(k1 in k:L1) {
            if(substr(S, k1, k1) != "A") {
                return(-1)
            } else {
                counter <- counter + 1
            }
        }
    } else if(l <= L2) {
        for(l1 in l:L2) {
            if(substr(T, l1, l1) != "A") {
                return(-1)
            } else {
                counter <- counter + 1
            }
        }
    }
    return(counter)
}

v <- scan("stdin", character())
S <- v[1]
T <- v[2]

cat(F(S, T), "\n")