鏈接: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));
}
}