아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

A+B와 쿼리

시간 제한2초메모리 제한1024 MB

요약
두 N자리 수에 자릿수 갱신 쿼리가 주어질 때, 매번 (N+1)자리 합을 다시 구해 이전 합과 자릿수가 몇 개 달라졌는지 센다.
난이도

보통10점 중 6점

유형
구현, 배열, 수학
정답자
아직 제출이 없습니다

문제

음이 아닌 NN자리 10진수 정수 AA와 BB가 있다. 단, 각 수의 앞부분에 불필요한 0이 있을 수도 있다. 이때 N+1N+1자리 정수 C=A+BC = A + B를 생각하자. 마찬가지로 A+BA+B의 값이 N+1N+1자리가 안 될 경우 앞에 불필요한 0을 채워 N+1N+1자리로 만든다.

QQ개의 쿼리를 순서대로 처리해야 한다. 각 쿼리는 다음 중 하나이다.

  • A i d: AA의 오른쪽에서부터 ii번째 자리 숫자를 dd로 바꾼다.
  • B i d: BB의 오른쪽에서부터 ii번째 자리 숫자를 dd로 바꾼다.

각 쿼리를 수행할 때마다 C=A+BC = A+B를 다시 계산하고, CC의 각 자리 숫자 중 몇 개의 숫자가 바뀌었는지 출력하시오.

입력

첫째 줄에는 NN과 QQ가 주어진다. (1≤N,Q≤300 0001 \leq N, Q \leq 300\ 000)

둘째 줄에는 AA, 셋째 줄에는 BB가 주어진다.

다음 QQ줄에는 한 줄에 하나씩 쿼리가 주어진다. 모든 쿼리에서 1≤i≤N1 \leq i \leq N, 0≤d≤90 \leq d \leq 9이다.

출력

각 쿼리를 수행할 때마다 C=A+BC = A+B를 다시 계산하고, CC의 각 자리 숫자 중 몇 개의 숫자가 바뀌었는지 출력한다.

힌트

쿼리를 실행하기 전과 각 쿼리를 실행한 후의 계산식은 차례로 다음과 같다.

  • 09905+80000=08990509905 + 80000 = 089905
  • 09905+80005=08991009905 + 80005 = 089910
  • 09995+80005=09000009995 + 80005 = 090000
  • 09995+90005=10000009995 + 90005 = 100000

예제1

  1. 예제 1

    입력
    5 3
    09905
    80000
    B 1 5
    A 2 9
    B 5 9
    
    예상 출력
    2
    4
    2