Untitled
unknown
plain_text
2 years ago
1.2 kB
3
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...