Untitled
unknown
plain_text
2 years ago
1.2 kB
4
Indexable
#include<iostream>
using namespace std;
int M,N,a[16][16],ans,vs[16][16];
int dxl[6]={-1,-1,-1,0,0,1};
int dyl[6]={-1,0,1,-1,1,0};
int dxc[6]={1,1,1,0,0,-1};
int dyc[6]={-1,0,1,-1,1,0};
bool checkbien(int x,int y){
if(x>=1 && x<=M && y>=1 && y<=N){
return true;
}
return false;
}
void reset(){
for(int i=1;i<=M;i++){
for(int j=1;j<=N;j++){
vs[i][j]=0;
}
}
}
void bt(int k,int x,int y,int sum){
if(k==4 ){
if(sum>ans)ans=sum;
return;
}
for(int i=0;i<6;i++){
int xx,yy;
if(y%2==1){
xx=x+dxl[i];
yy=y+dyl[i];
}
if(y%2==0){
xx=x+dxc[i];
yy=y+dyc[i];
}
if(checkbien(xx,yy) && vs[xx][yy]==0){
vs[xx][yy]=1;
bt(k+1,xx,yy,sum+a[xx][yy]);
bt(k+1,x,y,sum+a[xx][yy]);
vs[xx][yy]=0;
}
}
}
int main(){
int T;
//freopen("Text.txt","r",stdin);
cin>>T;
for(int tc=1;tc<=T;tc++){
cin>>N>>M;
for(int i=1;i<=M;i++){
for(int j=1;j<=N;j++){
cin>>a[i][j];
}
}
ans=0;
for(int i=1;i<=M;i++){
for(int j=1;j<=N;j++){
reset();
vs[i][j]=1;
bt(1,i,j,a[i][j]);
}
}
cout<<"Case #"<<tc<<endl<<ans*ans<<endl;
}
return 0;
}Editor is loading...