首页 > 代码库 > hdu 4925
hdu 4925
【题意】n*m的土地里每个格子里可以种树或者施肥,每一棵树开始可以结一颗果子,他的前后左右四个格子,若施了肥就可以让他结的果翻一倍,求最多可以得到多少果子。
在每个(i+j)%2==0 的格子上种树 其他的施肥就可以了。
1 #include<cstdio> 2 #include<iostream> 3 #include<cmath> 4 using namespace std; 5 int n,m,t; 6 7 int get(int i,int j) 8 { 9 if(i>=0&&i<n&&j>=0&&j<m)10 return 2;11 return 1;12 13 }14 15 16 int main()17 {18 scanf("%d",&t);19 while(t--)20 {21 int ans=0;22 scanf("%d%d",&n,&m);23 for(int i=0; i<n; i++)24 for(int j=0; j<m; j++)25 {26 if((i+j)%2==0)27 {28 int temp=1;29 temp*=get(i-1,j);30 temp*=get(i+1,j);31 temp*=get(i,j-1);32 temp*=get(i,j+1);33 ans+=temp;34 }35 }36 printf("%d\n",ans);37 }38 return 0;39 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。