Submission #1612308


Source Code Expand

#include <bits/stdc++.h>
#define REP(i,a,b) for(int i=(a);i<(b);i++)
#define RREP(i,a,b) for(int i=(a);i>=(b);i--)
typedef long long ll; typedef long double ld;
using namespace std;
const int INF=1e9, MOD=1e9+7;
const int MAX_N=10000;
int n,m,a[90][90];
int used[90][90]={};

int dfs(int i, int j){
	if(i<0 or j<0) return 0;
	if(a[i][j]==0) return 0;
	if(used[i][j]) return 0;
	used[i][j]=true;

	int ret =1+max(dfs(i+1,j),max(dfs(i-1,j),max(dfs(i,j+1),dfs(i,j-1))));

	used[i][j]=false;
	return ret;
}

int main(){
	cin >> m >> n;
	REP(i,0,n) REP(j,0,m) cin >> a[i][j];
	
	int ma=0;
	REP(i,0,n) REP(j,0,m) ma=max(ma,dfs(i,j));
	
	cout << ma << endl;
	return 0;
}

Submission Info

Submission Time
Task D - 薄氷渡り
User ecasdqina
Language C++14 (GCC 5.4.1)
Score 100
Code Size 696 Byte
Status AC
Exec Time 5 ms
Memory 256 KB

Judge Result

Set Name set01 set02 set03 set04 set05
Score / Max Score 20 / 20 20 / 20 20 / 20 20 / 20 20 / 20
Status
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
Set Name Test Cases
set01 data1
set02 data2
set03 data3
set04 data4
set05 data5
Case Name Status Exec Time Memory
data1 AC 1 ms 256 KB
data2 AC 1 ms 256 KB
data3 AC 2 ms 256 KB
data4 AC 2 ms 256 KB
data5 AC 5 ms 256 KB