結果
| 問題 |
No.1185 完全な3の倍数
|
| コンテスト | |
| ユーザー |
Konton7
|
| 提出日時 | 2020-08-22 14:46:16 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
AC
|
| 実行時間 | 3 ms / 2,000 ms |
| コード長 | 1,872 bytes |
| コンパイル時間 | 10,980 ms |
| コンパイル使用メモリ | 398,116 KB |
| 実行使用メモリ | 6,820 KB |
| 最終ジャッジ日時 | 2024-11-24 09:32:02 |
| 合計ジャッジ時間 | 12,435 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 39 |
コンパイルメッセージ
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();
let n: i32 = iter.next().unwrap().parse().unwrap();
let mut search = vec![3, 6, 9];
let mut new_search = Vec::<i32>::new();
let mut comp_3 = Vec::<i32>::new();
for i in 10..100 {
if i % 3 == 0 && (i % 10) % 3 != 0 {
comp_3.push(i);
}
}
for _ in 0..8 {
for v in &search {
for u in [0, 3, 6, 9].iter() {
comp_3.push(10 * v + u);
new_search.push(10 * v + u);
}
}
search.clear();
search = new_search;
new_search = Vec::<i32>::new();
}
let mut ans = 0;
for v in comp_3 {
if v <= n {
ans += 1;
}
}
println!("{}", ans);
// let n = iter.next().unwrap().parse().unwrap();
// println!("{}", n);
// println!("{:?}", cum_num);
}
Konton7