A. Apple Tree (hdu 4925)
水题,主要是考想法;
#include<iostream>
#include<cstdio>
#include<cstring>
#define maxn 200
using namespace std;
int m[maxn][maxn];
int dx[4]={0,0,1,-1};
int dy[4]={1,-1,0,0};
int f[5]={1,2,4,8,16};
int main()
{
int T;
scanf("%d",&T);
for(int i=0;i<T;i++)
{
int a,b;
int sum=0;
scanf("%d%d",&a,&b);
memset(m,0,sizeof(m));
for(int j=1;j<=a;j++)
for(int k=1;k<=b;k++)
if((j+k)%2==1) m[j][k] = 1;
for(int j=1;j<=a;j++)
for(int k=1;k<=b;k++)
{
int cnt=0,x,y;
if(m[j][k]) continue;
for(int l=0;l<4;l++)
{
x=j+dx[l];
y=k+dy[l];
if(m[x][y]) cnt++;
}
sum+=f[cnt];
}
printf("%d\n",sum);
}
return 0;
}