結果
| 問題 |
No.358 も~っと!門松列
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-04-18 02:57:43 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
AC
|
| 実行時間 | 1 ms / 1,000 ms |
| コード長 | 1,029 bytes |
| コンパイル時間 | 19,146 ms |
| コンパイル使用メモリ | 401,708 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-10-04 13:04:29 |
| 合計ジャッジ時間 | 14,672 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 23 |
ソースコード
// yukicoder My Practice
// author: Leonardone @ NEETSDKASU
use std::io;
fn get_line() -> String {
let mut input = String::new();
io::stdin().read_line(&mut input).ok().expect("");
return String::from(input.trim());
}
fn get_words() -> Vec<String> {
let mut v: Vec<String> = vec![];
let input = get_line();
for c in input.split_whitespace() {
v.push(String::from(c));
}
return v;
}
fn get_integers() -> Vec<i32> {
let v = get_words();
return v.iter()
.map(|x| x.parse::<i32>().ok().expect(""))
.collect();
}
fn is_kadomatsuretsu(a1 :i32, a2: i32, a3: i32) -> bool {
a1 != a3 && ((a2 > a1 && a2 > a3) || (a2 < a1 && a2 < a3))
}
fn main() {
let inputs = get_integers();
let a1 = inputs[0];
let a2 = inputs[1];
let a3 = inputs[2];
if is_kadomatsuretsu(a1, a2, a3) {
println!("INF");
std::process::exit(0)
}
let max = std::cmp::max(std::cmp::max(a1, a2), a3) + 1;
let mut ans = 0;
for p in 1 .. max {
if is_kadomatsuretsu(a1 % p, a2 % p, a3 % p) {
ans += 1
}
}
println!("{}", ans);
}