description
橫一劃豎一劃,橫一劃豎一劃…………小r畫出了乙個n*m的棋盤。
由於noip快要到了,小r有了乙個奇妙的想法。
在棋盤的每乙個小方格中填入n,o,i,p這4個字母中的乙個,若棋盤中每乙個2*2的小棋盤中都有n,o,i,p這4個字母,小r就認為這個棋盤是幸運棋盤。小r想知道一共有多少種不同的幸運棋盤。由於這個結果可能會很大,你只需輸出對1,000,000,007取模後的值。
input
兩個整數n,m表示棋盤的大小。
output
乙個整數表示幸運棋盤的個數對1,000,000,007取模後的值。
題解
1 2 5
3 4 6
7 89
首先在左上角確定1、2、3、4,向5、6方向擴充套件方案總數乘2,向7、8方向擴充套件總數也乘2,這十分顯然。再看4、6、8、9,而4、6、8在之前已今被確定了,9自然被確定了,為了符合題意,4、6、8、9只有十二種合法方案。
即總方案數為 (2^(n-1)+2^(m-1)-2)*12 。
**
const
mo=1000000007;
var n,m:int64;
function
mi(x:int64):int64;
begin
if x=0
then
exit(1) else
begin
mi:=sqr(mi(x div
2)) mod mo;
if odd(x) then
mi:=(mi*2) mod mo;
exit(mi);
end;
end;
procedure
main;
var ans:int64;
begin
ans:=(mi(n-1)+mi(m-1)-2) mod mo;
ans:=(ans*12) mod mo;
write(ans);
end;
begin
readln(n,m);
main;
end.
NOIP2012模擬10 6 購買
description 小n 最近迷上了購物每天都讓小a 和小t 陪她逛街拿東西。最近商店出了這樣的乙個 活動 買東西送積分,就是買一件物品,送當前物品的積分ci 當前的倍率,初始倍率是1 input 第一行有乙個整數n表示要買的種類。接下來n行每行2個整數ki,ci表示數量和積分 接下來一行有乙個...
NOIP2012模擬10 6 購買
description 小n 最近迷上了購物每天都讓小a 和小t 陪她逛街拿東西。最近商店出了這樣的乙個 活動 買東西送積分,就是買一件物品,送當前物品的積分ci 當前的倍率,初始倍率是1 當倍率是i 的時候,如果你買的物品等於ti 個,那麼倍率將加1.最多積分的人可以得到超限 量版的圓神手辦。小n...
NOIP2012模擬10 25 旅行
給定乙個n行m列的字元矩陣,代表空地,x 代表障礙。移動的規則是 每秒鐘以上下左右四個方向之一移動一格,不能進入障礙。計算 在空地中隨機選擇起點和終點 可以重合,此時最短耗時為0 從起點移動到終點最短耗時的平均值。每一行每一列至多有1個障礙,並且障礙不在對角線方向相鄰。以下矩陣是不合法的 x x.第...