HDU 4925 Apple Tree (瞎搞)
找到规律,各一个种一棵树,或者施肥。先施肥,先种树一样。
Apple Tree
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 197 Accepted Submission(s): 135
For each test case, two integers N, M (1<=N, M<=100) are given in a line, which denote the size of the map.
2 2 2 3 3
8 32
#include <algorithm> #include <iostream> #include <stdlib.h> #include <string.h> #include <iomanip> #include <stdio.h> #include <string> #include <queue> #include <cmath> #include <stack> #include <map> #include <set> #define eps 1e-12 ///#define M 1000100 #define LL __int64 ///#define LL long long ///#define INF 0x7ffffff #define INF 0x3f3f3f3f #define PI 3.1415926535898 #define zero(x) ((fabs(x)<eps)?0:x) using namespace std; const int maxn = 110; int mp[maxn][maxn]; int main() { int n, m; int T; cin >>T; while(T--) { scanf("%d %d",&n, &m); memset(mp, 0, sizeof(mp)); for(int i = 1; i <= n; i++) { if(i%2) { for(int j = 1; j <= m; j += 2) mp[i][j] = 1; } else { for(int j = 2; j <= m; j+= 2) mp[i][j] = 1; } } LL sum = 0; for(int i = 1; i <= n; i++) { for(int j = 1; j <= m; j++) { if(mp[i][j]) continue; int cnt = 0; if(i-1 >= 1) if(mp[i-1][j]) cnt ++; if(i+1 <= n) if(mp[i+1][j]) cnt ++; if(j-1 >= 1) if(mp[i][j-1]) cnt++; if(j+1 <= m) if(mp[i][j+1]) cnt++; sum += (1LL<<cnt); } } if(sum == 0) sum++; cout<<sum<<endl; } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。