題目連結: https://zerojudge.tw/ShowProblem?problemid=d914

# 解題思路

紀錄兩個棋盤的棋子狀況,如果有一點不一樣,且任意棋盤每有棋子就加一,否則加二,其餘的不加!!

# 程式碼

#include <bits/stdc++.h>
using namespace std;
int N,M;
int MapN[20][20]={0},MapM[20][20]={0};
int main(){
    while(cin>>N){
        memset(MapN,0,20),memset(MapM,0,20);
        for(int i=0,x,y,color;i<N;i++){
            cin>>x>>y>>color;
            MapN[x][y] += color ? 1 : -1;
        }
        cin>>M;
        for(int i=0,x,y,color;i<M;i++){
            cin>>x>>y>>color;
            MapM[x][y] += color ? 1 : -1;
        }
        int sum=0;
        for(int i=1;i<=19;i++){
            for(int j=1;j<=19;j++){
                if(MapN[i][j]!= MapM[i][j]){
                    if(MapN[i][j]==0||MapM[i][j]==0)
                        sum+=1;
                    else
                        sum+=2;
                }
            }
        }
        cout<<sum<<endl;
    }
}
更新於 閱讀次數

用實際行動犒賞爆肝的我😀

Zrn Ye LinePay

LinePay