Từ Trường THPT Chuyên Chu Văn An, Hà Nội
Thông tin
/* 3 5 9 4 5 6 7 3 6 8 9 1 9 6 2 8 3 */ #include<bits/stdc++.h> using namespace std; const int N = 105; int a[N][N]; int n,m; int dx[8] = {-1,1,2,2,1,-1,-2,-2}; int dy[8] = {2,2,-1,1,-2,-2,1,-1}; int dfs(int u,int v){ for(int i = 0;i<8;i++){ int du = u+dx[i],dv = v + dy[i]; if(du>=1&&du<=n&&dv>=1&&dv<=m&&a[u][v]>a[du][dv]){ return a[u][v]+dfs(du,dv); } } return a[u][v]; } int main(){ cin>>n>>m; for(int i = 1;i<=n;i++){ for(int j = 1;j<=m;j++){ cin>>a[i][j]; } } int ans =0; for(int i = 1;i<=n;i++){ for(int j = 1;j<=m;j++){ ans = max(ans,dfs(i,j)); } } cout<<ans; }