Submission #42411

#TimeUsernameProblemLanguageResultExecution timeMemory
42411HassoonyTracks in the Snow (BOI13_tracks)C++14
100 / 100
1423 ms49620 KiB
#include<bits/stdc++.h>
#include<unordered_map>
#define F first
#define S second
using namespace std;
typedef long long ll;
typedef long double D;
const ll inf=(1ll<<61);
const ll mod=1e9+7;
const int MX=4002;
int n,m,ans;
bool vis[MX][MX];
char a[MX][MX],c;
int dx[]={0,0,-1,1};
int dy[]={1,-1,0,0};
int main(){
    scanf("%d%d",&n,&m);
    for(int i=0;i<n;i++)scanf("%s",&a[i]);
    queue<pair<int,int> >q[2];
    int node=0;
    if(a[0][0]=='.'){
        puts("0");
        return 0;
    }
    q[node].push({0,0});
    while(!q[node].empty()){
        ans++;
        while(!q[node].empty()){
            int x=q[node].front().first,y=q[node].front().second;q[node].pop();
            if(vis[x][y])continue;
            vis[x][y]=1;
            for(int i=0;i<4;i++){
                int nx=dx[i]+x,ny=dy[i]+y;
                if(nx>=n||ny>=m||nx<0||ny<0||vis[nx][ny]||a[nx][ny]=='.')continue;
                if(a[nx][ny]==a[x][y])q[node].push({nx,ny});
                else q[node^1].push({nx,ny});
            }
        }
        node^=1;
    }
    cout<<ans<<endl;
}

Compilation message (stderr)

tracks.cpp: In function 'int main()':
tracks.cpp:18:41: warning: format '%s' expects argument of type 'char*', but argument 2 has type 'char (*)[4002]' [-Wformat=]
     for(int i=0;i<n;i++)scanf("%s",&a[i]);
                                         ^
tracks.cpp:17:24: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d",&n,&m);
                        ^
tracks.cpp:18:42: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     for(int i=0;i<n;i++)scanf("%s",&a[i]);
                                          ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...