카테고리 없음

[백준/C++] 1018: 체스판 다시 칠하기

알 수 없는 사용자 2023. 2. 5. 22:40

https://www.acmicpc.net/problem/1018

 

1018번: 체스판 다시 칠하기

첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다.

www.acmicpc.net

끝까지 해결하지 못한문제... 항공대 겨울 코딩기초 캠프 들으며 질문으로 해결할 계획입니다

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main(){
    int m,n,i,j,k,l;
    int cnt=0;
    cin>>m>>n;
    string arr[51][51];
    for(i=0;i<m;i++){
        for(j=0;j<n;j++){
            cin>>arr[i][j];
            if(arr[i][j]=="\0")
                break;
    }
    }
    for(k=0;k<m-7;k++){
        for(l=0;l<n-7;l++){
            if((k+l)%2==0){
                if(arr[k][l]!=arr[0][0]){
                    cnt++;
                }
            }
            else if((k+l)%2!=0){
                if(arr[k][l]!=arr[1][0]){
                    cnt++;
                }
            }
        }
        if(arr[k][l]=="\0"){
            break;
        }
    }
    cout<<cnt;

}