链接:https://ac.nowcoder.com/acm/contest/330/E
来源:牛客网
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
题目描述
精通程序设计的 Applese 叕写了一个游戏。
在这个游戏中,有一个 n 行 m 列的方阵。现在它要为这个方阵涂上黑白两种颜色。规定左右相邻两格的颜色不能相同。请你帮它统计一下有多少种涂色的方法。由于答案很大,你需要将答案对
10
9
+
7
109+7 取模。
输入描述:
仅一行两个正整数 n, m,表示方阵的大小。
输出描述:
输出一个正整数,表示方案数对
10
9
+
7
109+7 取模。
示例1
输入
复制
1 1
输出
复制
2
示例2
输入
复制
2 2
输出
复制
4
备注:
1
≤
n
,
m
≤
10
100000
思路:这道题也是容易就出来了,但是当时我还不知道怎么写2的快速幂,AC不了,还是接触的不够多
AC代码:
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
BigInteger n = sc.nextBigInteger() ;
BigInteger m = sc.nextBigInteger() ;
BigInteger mod = new BigInteger("1000000007") ;
BigInteger tmp = new BigInteger("2");
sc.close();
System.out.println(tmp.modPow(n, mod));
}
}