結果
| 問題 |
No.1177 余りは?
|
| コンテスト | |
| ユーザー |
Konton7
|
| 提出日時 | 2020-08-21 22:58:47 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,505 bytes |
| コンパイル時間 | 12,084 ms |
| コンパイル使用メモリ | 403,112 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-10-15 06:32:07 |
| 合計ジャッジ時間 | 13,332 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 31 WA * 1 |
コンパイルメッセージ
warning: unused variable: `k`
--> src/main.rs:52:9
|
52 | let k: i64 = iter.next().unwrap().parse().unwrap();
| ^ help: if this is intentional, prefix it with an underscore: `_k`
|
= note: `#[warn(unused_variables)]` on by default
warning: unused variable: `i`
--> src/main.rs:54:9
|
54 | for i in 0..p - 1 {
| ^ help: if this is intentional, prefix it with an underscore: `_i`
warning: function `comb` is never used
--> src/main.rs:21:4
|
21 | fn comb(n: usize, k: usize, m: i64, frac: &[i64], frac_inv: &[i64]) -> i64 {
| ^^^^
|
= note: `#[warn(dead_code)]` on by default
ソースコード
#[allow(unused_imports)]
use std::cmp;
use std::fs::File;
use std::io::Read;
#[allow(dead_code)]
fn pow_speedy_with_mod(mut p: i64, mut q: i64, m: i64) -> i64 {
p %= m;
let mut r = p;
let mut ret: i64 = 1;
while q > 0 {
ret *= if q % 2 == 1 { r } else { 1 };
r *= r;
r %= m;
q /= 2;
ret %= m;
}
return ret;
}
fn comb(n: usize, k: usize, m: i64, frac: &[i64], frac_inv: &[i64]) -> i64 {
let mut ret = 1i64;
if n < k {
return 0;
}
ret *= frac[n] * frac_inv[n - k];
ret %= m;
ret *= frac_inv[k];
ret %= m;
ret
}
fn main() {
let inputstatus = 1;
let mut buf = String::new();
let filename = "inputrust.txt";
if inputstatus == 0 {
let mut f = File::open(filename).expect("file not found");
f.read_to_string(&mut buf)
.expect("something went wrong reading the file");
} else {
std::io::stdin().read_to_string(&mut buf).unwrap();
}
let mut iter = buf.split_whitespace();
const MODULO : i64 = 1e9 as i64 + 7;
let p: i64 = iter.next().unwrap().parse().unwrap();
let k: i64 = iter.next().unwrap().parse().unwrap();
let mut a = 1i64;
for i in 0..p - 1 {
a *= 10;
a %= MODULO;
}
a -= 1;
a *= pow_speedy_with_mod(p, MODULO - 2, MODULO);
a %= MODULO;
println!("{}", a);
// let n = iter.next().unwrap().parse().unwrap();
// println!("{}", n);
// println!("{:?}", cum_num);
}
Konton7