Submission #646213

#TimeUsernameProblemLanguageResultExecution timeMemory
646213BaytoroTracks in the Snow (BOI13_tracks)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;
#define Baytoro_MayrambekovOrz void solve()
#define ios ios::sync_with_stdio(false); cin.tie(NULL);
#define pb push_back
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define fr first
#define sc second
#define int long long
#define endl '\n'
const int INF=1e18;
void fopn(string name){
	freopen((name+".in").c_str(),"r",stdin);
	freopen((name+".out").c_str(),"w",stdout);
}
int binpow(int a,int n){
	if(n==0)
		return 1;
	if(n%2==1)
		return binpow(a, n-1)*a;
	else{
		int b=binpow(a, n/2);
		return b*b;
	}
}
char ar[2005][2005];
int dist[2005][2005];
vector<pair<int,int>> d = {
	{0,1},
	{0,-1},
	{1,0},
	{-1,0}
};
int n,m;
int cnt;
int h,g,c,q,r,i,j,k,x,y,res=0;
Baytoro_MayrambekovOrz{
	cin>>n>>m;
	for(i=1;i<=n;i++){
		for(j=1;j<=m;j++){
			cin>>ar[i][j];
		}
	}
	res=1;
	deque<pair<int,int>> dq;
	dq.push_front({1,1});
	dist[1][1]=1;
	while(!dq.empty()){
		auto a=dq.front();
		dq.pop_front();
		res=max(res,dist[a.fr][a.sc]);
		for(i=0;i<4;i++){
			int tx=a.fr+d[i].fr;
			int ty=a.sc+d[i].sc;
			if(tx>0 && ty>0 && tx<=n && ty<=m && dist[tx][ty]==0 && ar[tx][ty]!='.'){
				if(ar[a.fr][a.sc]==ar[tx][ty]){
					dist[tx][ty]=dist[a.fr][a.sc];
					dq.push_front({tx,ty});
				}
				else{
					dist[tx][ty]=dist[a.fr][a.sc]+1;
					dq.push_back({tx,ty});
				}
			}
		}
	}
	cout<<res<<endl;
}
main(){
	//fopn("tractor");#include <bits/stdc++.h>
using namespace std;
#define Baytoro_MayrambekovOrz void solve()
#define ios ios::sync_with_stdio(false); cin.tie(NULL);
#define pb push_back
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define fr first
#define sc second
#define int long long
#define endl '\n'
const int INF=1e18;
void fopn(string name){
	freopen((name+".in").c_str(),"r",stdin);
	freopen((name+".out").c_str(),"w",stdout);
}
int binpow(int a,int n){
	if(n==0)
		return 1;
	if(n%2==1)
		return binpow(a, n-1)*a;
	else{
		int b=binpow(a, n/2);
		return b*b;
	}
}
char ar[4005][4005];
int dist[4005][4005];
vector<pair<int,int>> d = {
	{0,1},
	{0,-1},
	{1,0},
	{-1,0}
};
int n,m;
int cnt;
int h,g,c,q,r,i,j,k,x,y,res=0;
Baytoro_MayrambekovOrz{
	cin>>n>>m;
	for(i=1;i<=n;i++){
		for(j=1;j<=m;j++){
			cin>>ar[i][j];
		}
	}
	res=1;
	deque<pair<int,int>> dq;
	dq.push_front({1,1});
	dist[1][1]=1;
	while(!dq.empty()){
		auto a=dq.front();
		dq.pop_front();
		res=max(res,dist[a.fr][a.sc]);
		for(i=0;i<4;i++){
			int tx=a.fr+d[i].fr;
			int ty=a.sc+d[i].sc;
			if(tx>0 && ty>0 && tx<=n && ty<=m && dist[tx][ty]==0 && ar[tx][ty]!='.'){
				if(ar[a.fr][a.sc]==ar[tx][ty]){
					dist[tx][ty]=dist[a.fr][a.sc];
					dq.push_front({tx,ty});
				}
				else{
					dist[tx][ty]=dist[a.fr][a.sc]+1;
					dq.push_back({tx,ty});
				}
			}
		}
	}
	cout<<res<<endl;
}
main(){
	//fopn("tractor");
	//ios;
	int T=1;
	//cin>>T;
	while(T--){
		solve();
	}
}





	//ios;
	int T=1;
	//cin>>T;
	while(T--){
		solve();
	}
}




Compilation message (stderr)

tracks.cpp:70:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   70 | main(){
      | ^~~~
tracks.cpp: In function 'int main()':
tracks.cpp:83:23: error: a function-definition is not allowed here before '{' token
   83 | void fopn(string name){
      |                       ^
tracks.cpp:87:24: error: a function-definition is not allowed here before '{' token
   87 | int binpow(int a,int n){
      |                        ^
tracks.cpp:108:23: error: a function-definition is not allowed here before '{' token
  108 | Baytoro_MayrambekovOrz{
      |                       ^
tracks.cpp:140:7: error: expected ';' before '{' token
  140 | main(){
      |       ^
      |       ;
tracks.cpp:82:11: warning: unused variable 'INF' [-Wunused-variable]
   82 | const int INF=1e18;
      |           ^~~
tracks.cpp:97:6: warning: unused variable 'ar' [-Wunused-variable]
   97 | char ar[4005][4005];
      |      ^~
tracks.cpp:98:5: warning: unused variable 'dist' [-Wunused-variable]
   98 | int dist[4005][4005];
      |     ^~~~
tracks.cpp:105:5: warning: unused variable 'n' [-Wunused-variable]
  105 | int n,m;
      |     ^
tracks.cpp:105:7: warning: unused variable 'm' [-Wunused-variable]
  105 | int n,m;
      |       ^
tracks.cpp:106:5: warning: unused variable 'cnt' [-Wunused-variable]
  106 | int cnt;
      |     ^~~
tracks.cpp:107:5: warning: unused variable 'h' [-Wunused-variable]
  107 | int h,g,c,q,r,i,j,k,x,y,res=0;
      |     ^
tracks.cpp:107:7: warning: unused variable 'g' [-Wunused-variable]
  107 | int h,g,c,q,r,i,j,k,x,y,res=0;
      |       ^
tracks.cpp:107:9: warning: unused variable 'c' [-Wunused-variable]
  107 | int h,g,c,q,r,i,j,k,x,y,res=0;
      |         ^
tracks.cpp:107:11: warning: unused variable 'q' [-Wunused-variable]
  107 | int h,g,c,q,r,i,j,k,x,y,res=0;
      |           ^
tracks.cpp:107:13: warning: unused variable 'r' [-Wunused-variable]
  107 | int h,g,c,q,r,i,j,k,x,y,res=0;
      |             ^
tracks.cpp:107:15: warning: unused variable 'i' [-Wunused-variable]
  107 | int h,g,c,q,r,i,j,k,x,y,res=0;
      |               ^
tracks.cpp:107:17: warning: unused variable 'j' [-Wunused-variable]
  107 | int h,g,c,q,r,i,j,k,x,y,res=0;
      |                 ^
tracks.cpp:107:19: warning: unused variable 'k' [-Wunused-variable]
  107 | int h,g,c,q,r,i,j,k,x,y,res=0;
      |                   ^
tracks.cpp:107:21: warning: unused variable 'x' [-Wunused-variable]
  107 | int h,g,c,q,r,i,j,k,x,y,res=0;
      |                     ^
tracks.cpp:107:23: warning: unused variable 'y' [-Wunused-variable]
  107 | int h,g,c,q,r,i,j,k,x,y,res=0;
      |                       ^
tracks.cpp:107:25: warning: unused variable 'res' [-Wunused-variable]
  107 | int h,g,c,q,r,i,j,k,x,y,res=0;
      |                         ^~~
tracks.cpp: In function 'void fopn(std::string)':
tracks.cpp:14:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   14 |  freopen((name+".in").c_str(),"r",stdin);
      |  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tracks.cpp:15:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |  freopen((name+".out").c_str(),"w",stdout);
      |  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~