Submission #490093

# Submission time Handle Problem Language Result Execution time Memory
490093 2021-11-25T14:13:21 Z keertan Tracks in the Snow (BOI13_tracks) C++17
77.5 / 100
520 ms 112080 KB
/**
 * If you live in imaginary world when your imaginary situation encounter in 
 * real situation you can't enjoiy it because you have to do pending work.
 * {This pending work appeared because you wasted that time for your useless
 * imagianry thinking .}
 */
#include<bits/stdc++.h>
using namespace std;
//#define int  int64_t
#define all(x) x.begin(),x.end()
#define all1(x) x.rbegin(),x.rend()
#define sz(x) (int)(x.size())
const int N=4e5+5,mod=1e9+7;

void solve(){
	int n,m;
	cin>>n>>m;
	vector<string> z(n);
	for (string &it:z){cin>>it;}
	int ans=1;
	deque<pair<int,int>> q;
	vector<vector<int>> dis(n,vector<int>(n));
	dis[0][0]=1;
	q.emplace_back(0,0);
	vector<int> dx{1,-1,0,0},dy{0,0,1,-1};
	while(!q.empty()){
		pair<int,int> u=q.front();
		q.pop_front();
		ans=max(ans,dis[u.first][u.second]);
		for (int i=0;i<4;i++){
			int x=u.first+dx[i],y=u.second+dy[i];
			if (min(x,y)>=0 && x<n && y<m && z[x][y]!='.' && dis[x][y]==0){
				if (z[u.first][u.second]==z[x][y]){
					q.emplace_front(x,y);
					dis[x][y]=dis[u.first][u.second];
				}
				else{
					q.emplace_back(x,y);
					dis[x][y]=dis[u.first][u.second]+1;
				}
			}
		}
	}
	cout<<ans;
}
int32_t main(){
    ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
    int tq=1;
    //cin>>tq;
    for (;tq;tq--){solve();}
}
//is a bruteforce possible?
//think greedier, make more assumptions
// if we you find solution using loop to decrease complexity use bs
//stuck for more than 5 minutes? move on  
# Verdict Execution time Memory Grader output
1 Incorrect 9 ms 1672 KB Output isn't correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 0 ms 332 KB Output is correct
4 Correct 5 ms 1728 KB Output is correct
5 Correct 2 ms 716 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 0 ms 332 KB Output is correct
8 Incorrect 0 ms 332 KB Output isn't correct
9 Correct 1 ms 332 KB Output is correct
10 Correct 2 ms 604 KB Output is correct
11 Correct 2 ms 588 KB Output is correct
12 Correct 3 ms 716 KB Output is correct
13 Correct 2 ms 716 KB Output is correct
14 Correct 2 ms 776 KB Output is correct
15 Correct 8 ms 1612 KB Output is correct
16 Incorrect 9 ms 1612 KB Output isn't correct
17 Correct 6 ms 1572 KB Output is correct
18 Correct 6 ms 1612 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 24 ms 57700 KB Output is correct
2 Correct 32 ms 8140 KB Output is correct
3 Correct 163 ms 80956 KB Output is correct
4 Incorrect 51 ms 18252 KB Output isn't correct
5 Correct 102 ms 45468 KB Output is correct
6 Correct 501 ms 94700 KB Output is correct
7 Correct 26 ms 63180 KB Output is correct
8 Correct 23 ms 57628 KB Output is correct
9 Incorrect 0 ms 332 KB Output isn't correct
10 Incorrect 1 ms 332 KB Output isn't correct
11 Correct 24 ms 60796 KB Output is correct
12 Correct 1 ms 332 KB Output is correct
13 Correct 31 ms 8208 KB Output is correct
14 Incorrect 17 ms 4556 KB Output isn't correct
15 Correct 15 ms 5324 KB Output is correct
16 Incorrect 3 ms 1600 KB Output isn't correct
17 Correct 90 ms 20692 KB Output is correct
18 Correct 47 ms 20288 KB Output is correct
19 Incorrect 46 ms 18336 KB Output isn't correct
20 Incorrect 10 ms 16112 KB Output isn't correct
21 Correct 93 ms 48248 KB Output is correct
22 Correct 92 ms 45476 KB Output is correct
23 Incorrect 127 ms 33396 KB Output isn't correct
24 Correct 92 ms 48376 KB Output is correct
25 Correct 262 ms 80832 KB Output is correct
26 Correct 276 ms 112080 KB Output is correct
27 Correct 423 ms 107740 KB Output is correct
28 Correct 469 ms 94600 KB Output is correct
29 Correct 520 ms 92828 KB Output is correct
30 Correct 441 ms 95888 KB Output is correct
31 Correct 381 ms 52196 KB Output is correct
32 Correct 329 ms 96164 KB Output is correct