B - President's Office

 avatar
jackoup
c_cpp
a year ago
1.5 kB
5
Indexable
CodeForces
#include <iostream>
#include <set>
 
using namespace std;
 
void fio() {
    ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
}
 
 
 
 
int main() {
    fio();
    int n;cin>>n;
    int m;cin>>m;
    char p;cin>>p;
 
 
    set<char> answer;
 
    char arr[n][m];
    for(int i =0;i<n;i++) {
        for(int j =0 ;j<m;j++) {
            cin>>arr[i][j];
        }
    }
    for(int i = 0;i<n;i++) {
        for(int j =0;j<m;j++) {
            if(arr[i][j] == p ) {
 
                //left
                if(j<m && j != 0){
                    char adjacent = arr[i][j-1];
                    if(adjacent != p && adjacent != '.')
                        answer.insert(adjacent);
                }
                //right
                 if(j>=0 && j !=m-1) {
                    char adjacent = arr[i][j+1];
                    if(adjacent != p && adjacent != '.')
                        answer.insert(adjacent);
                }
                // up
                if(i<n && i != 0) {
                    char adjacent = arr[i-1][j];
                    if(adjacent != p && adjacent !='.')
                        answer.insert(adjacent);
                }
                //down
                 if(i >=0 && i != n-1) {
                    char adjacent = arr[i+1][j];
                    if(adjacent != p && adjacent !='.')
                        answer.insert(adjacent);
                }
            }
        }
    }
    cout<<answer.size();
    return 0;
}
Editor is loading...
Leave a Comment