結果
問題 |
No.420 mod2漸化式
|
ユーザー |
![]() |
提出日時 | 2018-07-12 03:26:06 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 126 ms / 1,000 ms |
コード長 | 1,008 bytes |
コンパイル時間 | 2,206 ms |
コンパイル使用メモリ | 78,108 KB |
実行使用メモリ | 54,220 KB |
最終ジャッジ日時 | 2024-09-22 14:23:22 |
合計ジャッジ時間 | 7,559 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 35 |
ソースコード
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader r = new BufferedReader(new InputStreamReader(System.in), 1); String s = r.readLine(); int x = Integer.parseInt(s); long[][] z = new long[100][100]; long[][] c = new long[100][100]; if(x == 0) { System.out.println("1 0"); return; } if(x > 31) { System.out.println("0 0"); return; } for(int i = 1; i <= 31; i++) { z[1][i] = (1 << i) - 1; c[1][i] = i; //System.out.println(z[1][i]); } for(int i = 2; i <= x; i++) { for(int j = 1; j <= 31; j++) { for(int k = i; k <= j; k++) { z[i][j] += c[i - 1][k - 1] * (1 << (k - 1)) + z[i - 1][k - 1]; c[i][j] += c[i - 1][k - 1]; } } } System.out.printf("%d %d\n", c[x][31], z[x][31]); } }