# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
44867 | iletavcioski | Tracks in the Snow (BOI13_tracks) | C++17 | 979 ms | 530568 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <queue>
using namespace std;
int n,m;
char mat[4004][4004];
bool vis[4004][4004];
int dx[4]={0,0,1,-1};
int dy[4]={1,-1,0,0};
int brojac;
queue<pair<int,int> > q1,q2;
void bfs(queue<pair<int,int> > &q1,queue<pair<int,int> > &q2,int broj)
{
if(q1.empty())
return;
brojac=broj;
while(!q1.empty())
{
pair<int,int> g=q1.front();
q1.pop();
for(int i=0;i<4;i++)
{
if(g.first+dx[i]<n&&g.first+dx[i]>=0&&g.second+dy[i]<m&&g.second+dy[i]>=0)
{
if(!vis[g.first+dx[i]][g.second+dy[i]]&&mat[g.first+dx[i]][g.second+dy[i]]!='.')
{
if(mat[g.first+dx[i]][g.second+dy[i]]!=mat[g.first][g.second])
{
q2.push(make_pair(g.first+dx[i],g.second+dy[i]));
vis[g.first+dx[i]][g.second+dy[i]]=true;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |