Submission #958655

# Submission time Handle Problem Language Result Execution time Memory
958655 2024-04-06T09:49:29 Z ramalzaher Tracks in the Snow (BOI13_tracks) C++14
9.375 / 100
1205 ms 617180 KB
/** * * * * * * * * * * * * * **\
 *                             *
 *   Author:Ram Azar Alzaher   *
 * Coded in: YYYY\M\D HH:MM:SS *
 *          Lang: C++          *
 *                             *
\** * * * * * * * * * * * * * **/
#include<bits/stdc++.h>
#define fast ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define int long long
#define itn int
#define rep(i,x,n) for(int i=(x);i<(n);i++)
#define FOR(i,n) rep(i,0,n)
#define per(i,x,n) for(int i=(x);i>(n);i--)
#define ROF(i,x) for(int i=x;i>=0;i--)
#define v(i) vector< i >
#define vi vector< int >
#define p(i,j) pair< i , j >
#define pii pair<int,int>
#define m(i,j) map< i , j >
#define um(i,j) unordered_map< i , j >
#define s(i) set< i >
#define us(i) unordered_set< i >
#define set set<int>
#define uset unordered_set<int>
#define mp make_pair
#define f first
#define rall(x) x.rbegin(),x.rend()
#define all(x) x.begin(),x.end()
#define so(x) sort(all(s))
#define so(x) sort(all(s))
#define s second
#define sz size()
#define pb push_back
#define test long long t ;cin >> t ;while(t--)
using namespace std;
//*****************************************************VARIABLES***************************************************************\\\\*******************************\\
//*****************************************************************************************************************************\\\\
//***************************************************************************************************************************************
const double pi=2.0*acos(0.0);
const int inf=1LL<<62LL;
const int mod=1e9+7;
int dx[] {1,-1,0,0};
int dy[] {0,0,-1,1};
int max1 = INT_MIN;
int min1 = INT_MAX;
//*****************************************************************************************************************************\\\\
//**************************************************************************************************************************************
//******************************************************************************************************************************\****************


//*****************************************************FUNCTIONS***************************************************************\\\\*******************************\\
//*****************************************************************************************************************************\\\\
//***************************************************************************************************************************************
void setIO(string name = "") {
	if(name != ""){

		freopen((name+".in").c_str(), "r", stdin);
		freopen((name+".out").c_str(), "w", stdout);
	}
}
const int N = 4004 ;
int n , m ;
char a[N][N] ;
int vis[N][N] , dis[N][N];
bool isvalid(int x  ,int y  ){
if(x >= n || y >= m || y < 0 || x < 0 || vis[x][y]||a[x][y] == '.' )return 0 ;
return 1 ;
}

//*****************************************************************************************************************************\\\\
//**************************************************************************************************************************************
//******************************************************************************************************************************\****************


signed main()
{
fast;
setIO();
cin >> n >> m ;
FOR(i , n )FOR(j , m )cin >> a[i][j] ;
deque<pii> q ;
q.push_back({0 ,0  });
vis[0][0]=0 ;
dis[0][0] = 0 ;
int ans(1) ;
while(q.sz) {
    auto &[x , y ] = q.front() ;
    ans=max(ans , dis[x][y] ) ;
    q.pop_front() ;
    FOR(i ,  4){
       int nx = dx[i]+x;
       int ny = dy[i]+y;
    if(isvalid(nx , ny )){
        if( a[x][y] == a[nx][ny] ){
           q.push_front({nx , ny });
           dis[nx][ny] = dis[x][y] ;
        }else {
           q.push_back({nx , ny });
           dis[nx][ny] = dis[x][y] + 1 ;
        }
        vis[nx][ny] = 1 ;
    }
}
}
cout<< ans + 1 << endl ;

return 0 ;
}
/**
input :


output :
*/

Compilation message

tracks.cpp:32: warning: "s" redefined
   32 | #define s second
      | 
tracks.cpp:22: note: this is the location of the previous definition
   22 | #define s(i) set< i >
      | 
tracks.cpp:37:1: warning: multi-line comment [-Wcomment]
   37 | //*****************************************************VARIABLES***************************************************************\\\\*******************************\\
      | ^
tracks.cpp:47:1: warning: multi-line comment [-Wcomment]
   47 | //*****************************************************************************************************************************\\\\
      | ^
tracks.cpp:52:1: warning: multi-line comment [-Wcomment]
   52 | //*****************************************************FUNCTIONS***************************************************************\\\\*******************************\\
      | ^
tracks.cpp:71:1: warning: multi-line comment [-Wcomment]
   71 | //*****************************************************************************************************************************\\\\
      | ^
tracks.cpp: In function 'int main()':
tracks.cpp:88:11: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   88 |     auto &[x , y ] = q.front() ;
      |           ^
tracks.cpp: In function 'void setIO(std::string)':
tracks.cpp:58:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   58 |   freopen((name+".in").c_str(), "r", stdin);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tracks.cpp:59:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   59 |   freopen((name+".out").c_str(), "w", stdout);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 15 ms 17244 KB Output isn't correct
2 Correct 1 ms 4444 KB Output is correct
3 Incorrect 2 ms 4700 KB Output isn't correct
4 Incorrect 9 ms 16220 KB Output isn't correct
5 Incorrect 5 ms 10844 KB Output isn't correct
6 Correct 1 ms 4444 KB Output is correct
7 Incorrect 1 ms 4700 KB Output isn't correct
8 Incorrect 1 ms 4700 KB Output isn't correct
9 Incorrect 2 ms 4956 KB Output isn't correct
10 Incorrect 3 ms 6744 KB Output isn't correct
11 Correct 3 ms 8028 KB Output is correct
12 Incorrect 6 ms 14684 KB Output isn't correct
13 Incorrect 4 ms 10840 KB Output isn't correct
14 Incorrect 4 ms 10844 KB Output isn't correct
15 Incorrect 14 ms 14756 KB Output isn't correct
16 Incorrect 19 ms 17240 KB Output isn't correct
17 Incorrect 12 ms 18524 KB Output isn't correct
18 Incorrect 10 ms 16220 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 18 ms 48988 KB Output isn't correct
2 Incorrect 58 ms 37952 KB Output isn't correct
3 Incorrect 132 ms 18624 KB Output isn't correct
4 Incorrect 100 ms 86356 KB Output isn't correct
5 Correct 227 ms 114648 KB Output is correct
6 Runtime error 1135 ms 571104 KB Execution killed with signal 11
7 Incorrect 4 ms 18520 KB Output isn't correct
8 Incorrect 18 ms 49076 KB Output isn't correct
9 Incorrect 1 ms 4444 KB Output isn't correct
10 Incorrect 1 ms 4444 KB Output isn't correct
11 Incorrect 18 ms 50012 KB Output isn't correct
12 Incorrect 1 ms 4444 KB Output isn't correct
13 Incorrect 65 ms 37784 KB Output isn't correct
14 Incorrect 30 ms 22560 KB Output isn't correct
15 Incorrect 38 ms 31452 KB Output isn't correct
16 Incorrect 28 ms 15700 KB Output isn't correct
17 Incorrect 34 ms 12628 KB Output isn't correct
18 Incorrect 131 ms 89800 KB Output isn't correct
19 Incorrect 106 ms 86348 KB Output isn't correct
20 Incorrect 29 ms 10716 KB Output isn't correct
21 Incorrect 90 ms 42700 KB Output isn't correct
22 Correct 206 ms 114212 KB Output is correct
23 Incorrect 83 ms 22212 KB Output isn't correct
24 Incorrect 77 ms 16844 KB Output isn't correct
25 Incorrect 130 ms 18512 KB Output isn't correct
26 Incorrect 677 ms 284620 KB Output isn't correct
27 Runtime error 1149 ms 617180 KB Execution killed with signal 11
28 Runtime error 1205 ms 570732 KB Execution killed with signal 11
29 Runtime error 1105 ms 562508 KB Execution killed with signal 11
30 Runtime error 1109 ms 560016 KB Execution killed with signal 11
31 Incorrect 568 ms 205528 KB Output isn't correct
32 Incorrect 794 ms 305492 KB Output isn't correct