結果
| 問題 |
No.2600 Avator Height
|
| コンテスト | |
| ユーザー |
neko_the_shadow
|
| 提出日時 | 2024-02-14 10:13:04 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
AC
|
| 実行時間 | 306 ms / 2,000 ms |
| コード長 | 790 bytes |
| コンパイル時間 | 14,221 ms |
| コンパイル使用メモリ | 397,160 KB |
| 実行使用メモリ | 9,840 KB |
| 最終ジャッジ日時 | 2024-09-28 18:44:10 |
| 合計ジャッジ時間 | 24,790 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 25 |
コンパイルメッセージ
warning: variable `R` should have a snake case name --> src/main.rs:4:13 | 4 | let mut R = vec![0u128; 200000+1]; | ^ help: convert the identifier to snake case: `r` | = note: `#[warn(non_snake_case)]` on by default warning: variable `E` should have a snake case name --> src/main.rs:5:13 | 5 | let mut E = vec![0u128; 200000+1]; | ^ help: convert the identifier to snake case: `e` warning: variable `Q` should have a snake case name --> src/main.rs:15:9 | 15 | let Q = input(); | ^ help: convert the identifier to snake case: `q` warning: variable `N` should have a snake case name --> src/main.rs:16:9 | 16 | let N = (0..Q).map(|_| input()).collect::<Vec<_>>(); | ^ help: convert the identifier to snake case: `n`
ソースコード
use std::io::stdin;
fn main() {
let mut R = vec![0u128; 200000+1];
let mut E = vec![0u128; 200000+1];
R[1] = 1;
R[2] = 1;
E[1] = 1;
E[2] = 3;
for i in 3..200000+1 {
R[i] = (R[i-1]+R[i-2])%998244353;
E[i] = (E[i-1]+E[i-2])%998244353;
}
let Q = input();
let N = (0..Q).map(|_| input()).collect::<Vec<_>>();
for n in N {
let mut ans = 1;
ans *= (R[n]*R[n])%998244353;
ans %= 998244353;
ans *= 5;
ans %= 998244353;
ans += 998244353;
ans -= (E[n]*E[n])%998244353;
ans %= 998244353;
println!("{}", ans);
}
}
fn input() -> usize {
let mut line = String::new();
stdin().read_line(&mut line).unwrap();
line.trim().parse::<_>().unwrap()
}
neko_the_shadow