s='''CH2(2)CH0(1)CH1(2)CH0(1)CH3
      (1)         (1)
      CH0         CH1(1)CH2(1)CH3
      (3)         (1)
      CH1         CH3'''.split('\n')

def solve(_s):
    _m = max(len(x) for x in _s)
    s = [x.ljust(_m, ' ') for x in _s]
    print(s)
    n, m = len(s), len(s[0])
    for i in range(0, n, 2):
        l = (m + 3) // 6
        for j in range(0, m, 6):
            st = s[i][j:j + 3]
            if len(st) > 0 and st[0] == 'C':
                
                k = int(st[2])
                print(st)
                for dx, dy in ((1, 0), (0, 1), (0, -1), (-1, 0)):
                    u, v = i + dx, j + 1 + 3 * dy
                    
                    if 0 <= u < n and 0 <= v < m and s[u][v].isdigit():
                        print(i, j, dx, dy, s[u][v])
                        k += int(s[u][v])
                print("final k :", k)
                if k != 4:
                    print(i, j, k)
                    return False
    return True

r = solve(s)
print(r)

Embed on website

To embed this program on your website, copy the following code and paste it into your website's HTML: