格子刷油漆java
題目描述
X國的一段古城牆的頂端可以看成 2*N個格子組成的矩形(如圖1所示),現需要把這些格子刷上保護漆。
你可以從任意一個格子刷起,刷完一格,可以移動到和它相鄰的格子(對角相鄰也算數),但不能移動到較遠的格子(因為油漆未乾不能踩!)
比如:a d b c e f 就是合格的刷漆順序。
c e f d a b 是另一種合適的方案。
當已知 N 時,求總的方案數。當N較大時,結果會迅速增大,請把結果對 1000000007 (十億零七) 取模。
輸入資料為一個正整數(不大於1000)
輸出資料為一個整數。
例如:
使用者輸入:
2
程式應該輸出:
24
再例如:
使用者輸入:
3
程式應該輸出:
96
再例如:
使用者輸入:
22
程式應該輸出:
359635897
思路:公式參考地址:https://blog.csdn.net/Cc_Sonia/article/details/80375854
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner read = new Scanner(System.in);
int n = read.nextInt();
long[] a = new long[n+1];
long[] b = new long[n+1];
a[1] = 1;
a[2] = 6;
b[1] = 1;
b[2] = 2;
for (int i = 3;i<=n;i++)
{
b[i] = (b[i-1]*2)%1000000007;
a[i] = (a[i-1]*2 + b[i] + (a[i-2]*4))%1000000007;
}
long corner = a[n]*4;//四個角
long middle = 0;//中間的
for (int i = 2;i<=n-1;i++)
{
middle += (b[i]*4*(a[n-i]))%1000000007 + (4*(b[n-i+1])*(a[i-1]))%1000000007;
}
long result = (corner+middle)%1000000007;
System.out.println(result);
read.close();
}
}
相關文章
- 藍橋杯 剪格子
- 【藍橋杯】試題 歷屆試題 剪格子(python解法+java解法)PythonJava
- win10如何建立桌面格子_win10怎麼建立桌面檔案管理格子Win10
- 程式設計師剛實習VS幾年後,格子衫還是格子衫,網友:請找回髮量!程式設計師
- [譯] 格子拼貼 — 關於模組化的故事
- 三分鐘學會 SegmentFault 格子廣告投放
- 一個格子衫女孩的成長史——面試篇面試
- 藍橋杯 演算法訓練 操作格子 (線段樹)演算法
- 還在用canvas畫格子嗎?文字煙花效果更不錯噢Canvas
- 2617. 網格圖中最少訪問的格子數(困難)
- 1024 思否有獎徵文活動丨我和我的“格子衫”
- 瑞安辦公:再見格子間!青年理想工作空間什麼樣?
- LeetCode 1812[判斷國際象棋棋盤中一個格子的顏色]LeetCode
- 【每日一題】1812. 判斷國際象棋棋盤中一個格子的顏色每日一題
- 判斷優秀程式設計師的標準?放棄女朋友,穿上散發魅力的格子衫!程式設計師
- excel一個框裡怎麼換行 excel換行同一個單元格子裡面怎麼操作Excel
- Java SE, Java EE, Java MEJava
- Java 解惑(Java Puzzler)Java
- 【Java】A Guide to the Java ExecutorServiceJavaGUIIDE
- 【Java】The Java Headless ModeJava
- JAVA java學習(24)——————java修飾符Java
- Java 陣列、Java 日期時間、Java 正規表示式、Java 方法Java陣列
- 【Java筆記】Java JDKJava筆記JDK
- 淺析Java反射--JavaJava反射
- Java 8 + 10 = Java 18Java
- Java 安全之Java AgentJava
- Java筆記-Java反射(二)Java筆記反射
- Java基礎類庫【Java】Java
- Java基礎系列—Java反射Java反射
- Java:Java的物件導向Java物件
- java分散式(java入門)Java分散式
- Java學習—java-RedisJavaRedis
- JAVA-java日期工具類Java
- Treasure Of JAVA——JAVA的資料型別(JAVA面試題)Java資料型別面試題
- JAVA學習筆記—JAVA WEB(二)JAVA WEB核心(下)Java筆記Web
- JavaJava
- ```javaJava
- 《Effective Java》--Java進階必備Java