http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=572
描述
虽然QQ农场的时代差不多已经过去,但跟不上时代的小小还在不停的种菜、偷菜。有一天,他在种菜之余发现了一个好玩的问题。小小在一个m*n的菜地里,选了几块种上了自己喜欢的植物。但是小小比较喜欢偶数,他称每行每列种上植物的块数都为偶数的菜地叫作小欢地,现在小小想知到这块菜地上能种出多少不同的小欢地?
输入
有多组测试数据,每组一行。
每组数据有两个整数m和n(1<m<9,1<n<9);
以文件结束符结束。
输出
输出一个整数,表示有多少种不同的小欢地。
样例输入
2 2 3 2
样例输出
2 4
可以把矩阵分成两个部分,前(m-1)*(n-1)列和最后m行n列,无论在前面的矩阵中怎么填数,都有一种方案在m行n列填数满足条件。每块地可以填或不填,有2^( ( m - 1 ) * ( n - 1 ) )种可能。
#include<stdio.h>
#include<math.h>
int main()
{
int m,n;
while(scanf("%d%d",&n,&m)!=EOF)
{
printf("%lld
",(long long)pow(2,(m-1)*(n-1)));
}
return 0;
}