[Java]伯俊11726号[2 xnタイル]Java
白駿11726号です.
https://www.acmicpc.net/problem/11726
質問する
前述したように、1と2の組み合わせであるため、1と2の値は
ここには3と4しか置いていません.他の人は入れなくても大丈夫です.
次にdp()メソッドを実行して値を検索します
私たちが探している値
つまり
ここでポイント
私が最後に結果を出力したのはSystemでしたoutは%10007を貼り付け、残りの値を追加しました.
もともと
コード#コード#
https://www.acmicpc.net/problem/11726
質問する
2×nサイズ1の矩形×2, 2×タイルで充填する方法の数を求めるプログラムを作成してください.
下図2×5長方形を充填する方法の一例.
入力
最初の行はnです.(1 ≤ n ≤ 1,000)
しゅつりょく
1行目2×n矩形を充填する方法数を10007で割った後、残りを出力する.
入力例 2
9
サンプル出力 2
55
考える
動的計画法では,前の問題1,2,3プラス記号とほぼ90%以上の類似度問題がある.
動的計画法の概念定義は良い問題だと思います.
以前解を解いたときは動的計画法を少し知っていたが,今では記憶法と動的計画法を少し知っている.
ここで問題をよく理解すると、実は1と2の組み合わせを簡単に使っただけです.
nが1のときは1です.
二は二
三銀.
4=5
ここで現れる規則はn=(n−1+n−2)である.
私たちはこの繰り返しのルールで答えを見つけることができます.
そして、この問題で注意しなければならないのは、最後に
矩形を塗りつぶす方法数を10007で割った後、残りを出力します.
10007の残金を忘れてはいけない.
アクション
最初の行はnです.(1 ≤ n ≤ 1,000)
しゅつりょく
1行目2×n矩形を充填する方法数を10007で割った後、残りを出力する.
入力例 2
9
サンプル出力 2
55
考える
動的計画法では,前の問題1,2,3プラス記号とほぼ90%以上の類似度問題がある.
動的計画法の概念定義は良い問題だと思います.
以前解を解いたときは動的計画法を少し知っていたが,今では記憶法と動的計画法を少し知っている.
ここで問題をよく理解すると、実は1と2の組み合わせを簡単に使っただけです.
nが1のときは1です.
二は二
三銀.
4=5
ここで現れる規則はn=(n−1+n−2)である.
私たちはこの繰り返しのルールで答えを見つけることができます.
そして、この問題で注意しなければならないのは、最後に
矩形を塗りつぶす方法数を10007で割った後、残りを出力します.
10007の残金を忘れてはいけない.
アクション
2
9
サンプル出力 2
55
考える
動的計画法では,前の問題1,2,3プラス記号とほぼ90%以上の類似度問題がある.
動的計画法の概念定義は良い問題だと思います.
以前解を解いたときは動的計画法を少し知っていたが,今では記憶法と動的計画法を少し知っている.
ここで問題をよく理解すると、実は1と2の組み合わせを簡単に使っただけです.
nが1のときは1です.
二は二
三銀.
4=5
ここで現れる規則はn=(n−1+n−2)である.
私たちはこの繰り返しのルールで答えを見つけることができます.
そして、この問題で注意しなければならないのは、最後に
矩形を塗りつぶす方法数を10007で割った後、残りを出力します.
10007の残金を忘れてはいけない.
アクション
2
55
動的計画法では,前の問題1,2,3プラス記号とほぼ90%以上の類似度問題がある.
動的計画法の概念定義は良い問題だと思います.
以前解を解いたときは動的計画法を少し知っていたが,今では記憶法と動的計画法を少し知っている.
ここで問題をよく理解すると、実は1と2の組み合わせを簡単に使っただけです.
nが1のときは1です.
二は二
三銀.
4=5
ここで現れる規則はn=(n−1+n−2)である.
私たちはこの繰り返しのルールで答えを見つけることができます.
そして、この問題で注意しなければならないのは、最後に
矩形を塗りつぶす方法数を10007で割った後、残りを出力します.
10007の残金を忘れてはいけない.
アクション
int n = Integer.parseInt(br.readLine());
memoization = new int[1001];
memoization[1] = 1;
memoization[2] = 2;
memoization[3] = 3;
memoization[4] = 5;
まず、テストケースn
の値を作成します.前述したように、1と2の組み合わせであるため、1と2の値は
memoization
配列に配置される.ここには3と4しか置いていません.他の人は入れなくても大丈夫です.
次にdp()メソッドを実行して値を検索します
static void dp(int num) {
for(int i=4; i<=num; i++) {
if(memoization[i] == 0) {
memoization[i] = (memoization[i - 1] + memoization[i - 2]) % 10007;
}
}
} // End of result
dp関数は、指定されたルールを繰り返し実行し、値をmemoization
配列に格納します.私たちが探している値
num
は、以前の配列と以前の配列の値の和です.つまり
memoization[i] = (memoization[i - 1] + memoization[i - 2]) % 10007;
こうなります.ここでポイント
私が最後に結果を出力したのはSystemでしたoutは%10007を貼り付け、残りの値を追加しました.
もともと
memoization
配列に格納する場合は、10007で割った値を入れる必要があります.コード#コード# import java.io.*;
public class Main {
static int memoization[];
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
memoization = new int[1001];
memoization[1] = 1;
memoization[2] = 2;
memoization[3] = 3;
memoization[4] = 5;
dp(n);
System.out.println(memoization[n]);
} // End of main
static void dp(int num) {
for(int i=4; i<=num; i++) {
if(memoization[i] == 0) {
memoization[i] = (memoization[i - 1] + memoization[i - 2]) % 10007;
}
}
} // End of result
} // End of class
Reference
この問題について([Java]伯俊11726号[2 xnタイル]Java), 我々は、より多くの情報をここで見つけました
https://velog.io/@lifeisbeautiful/Java-백준-11726번-2xn-타일링-자바
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
import java.io.*;
public class Main {
static int memoization[];
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
memoization = new int[1001];
memoization[1] = 1;
memoization[2] = 2;
memoization[3] = 3;
memoization[4] = 5;
dp(n);
System.out.println(memoization[n]);
} // End of main
static void dp(int num) {
for(int i=4; i<=num; i++) {
if(memoization[i] == 0) {
memoization[i] = (memoization[i - 1] + memoization[i - 2]) % 10007;
}
}
} // End of result
} // End of class
Reference
この問題について([Java]伯俊11726号[2 xnタイル]Java), 我々は、より多くの情報をここで見つけました https://velog.io/@lifeisbeautiful/Java-백준-11726번-2xn-타일링-자바テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol