Problem:
A: 間違い探し

問題

縦に N マス、横に M マスある長方形の盤面 A, B が与えられます。各盤面について、それぞれのマスは白または黒で塗られています。

盤面 X の i 行 j 列目のマスの色を C(i, j, X) と表記することにします。

以下の条件を満たす整数の組 (i, j) がいくつあるか数えてください。

1 \leq i \leq N

1 \leq j \leq M

C(i, j, A) \neq C(i, j, B)

入力形式

N M
A_1
...
A_N
B_1
...
B_N

A_i (1 \leq i \leq N) の j 文字目が # のときは C(i, j, A) が黒、. のときは C(i, j, A) が白であることを表します。B についても同様です。

制約

1 \leq N, M \leq 2,000

|A_i| = |B_i| = M

A_i, B_i は # と . のみからなる文字列

出力形式

答えを一行に出力してください。

入力例1

2 3
..#
##.
.##
#..

出力例1

2

入力例2

7 28
............................
...#.....###...####....###..
..#.#...#...#..#...#..#...#.
.#...#..#......####...#.....
.#####..#...#..#......#...#.
.#...#...###...#.......###..
............................
............................
..###....###.....##....###..
.#...#..#...#...#.#...#...#.
...##...#...#.....#....####.
..#.....#...#.....#.......#.
.#####...###....####...###..
............................

出力例2

40

Solution in C++14 (judge verdict: Accepted)

#include<bits/stdc++.h>
using namespace std;
using ll = long long;
using P = pair<int,int>;
#define enld '\n'
#define rep(i,n) for(int i=0; i<(n); i++)
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#pragma GCC optimize("Ofast")
constexpr ll INF = 1e18;
constexpr int inf = 1e9;
constexpr ll mod = 1000000007;
constexpr ll mod2 = 998244353;
const double PI = 3.1415926535897932384626433832795028841971;
const int dx[6] = {1, 0, -1, 0,1,1};
const int dy[6] = {0, 1, 0, -1,1,-1};
template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; }
template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; }
// ---------------------------------------------------------------------------


int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int N,M;
    cin >> N >> M;
    vector<string> A(N),B(N);
    for(int i=0; i<N; i++){
        cin >> A[i];
    }
    for(int i=0; i<N; i++){
        cin >> B[i];
    }
    int cnt = 0;
    for(int i=0; i<N; i++){
        for(int j=0; j<M; j++){
            if(A[i][j] != B[i][j]) cnt++;
        }
    }
    cout << cnt << "\n";
    return 0;
}