标签:des style blog http color java os io
2 2 2 3 3
8 32
枚举两种情况求最大值。。
#include"stdio.h" #include"string.h" #include"queue" #include"vector" using namespace std; #define N 105 #define M 1000000 int g[N][N]; int n,m; int dir[4][2]={0,1,0,-1,-1,0,1,0}; int judge(int x,int y) { if(x>=0&&x<n&&y>=0&&y<m) return 1; return 0; } int main() { int T,i,j; int k,x,y; scanf("%d",&T); while(T--) { scanf("%d%d",&n,&m); memset(g,0,sizeof(g)); __int64 ans=0,max; ans=max=0; for(i=0;i<n;i++) { for(j=0;j<m;j++) { if((i+j)%2) //奇数的种苹果树 g[i][j]=1; } } for(i=0;i<n;i++) { for(j=0;j<m;j++) { if(g[i][j]==0) continue; for(k=0;k<4;k++) { x=i+dir[k][0]; y=j+dir[k][1]; if(judge(x,y)&&g[x][y]==0) { g[i][j]*=2; } } ans+=g[i][j]; } } max=ans; ans=0; memset(g,0,sizeof(g)); for(i=0;i<n;i++) { for(j=0;j<m;j++) { if((i+j)%2==0) //偶数的种苹果树 g[i][j]=1; } } for(i=0;i<n;i++) { for(j=0;j<m;j++) { if(g[i][j]==0) continue; for(k=0;k<4;k++) { x=i+dir[k][0]; y=j+dir[k][1]; if(judge(x,y)&&g[x][y]==0) { g[i][j]*=2; } } ans+=g[i][j]; } } max=max>ans?max:ans; printf("%I64d\n",max); } return 0; }
hdu 4925 Apple Tree,布布扣,bubuko.com
标签:des style blog http color java os io
原文地址:http://blog.csdn.net/u011721440/article/details/38434323