結果
| 問題 |
No.345 最小チワワ問題
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-04-29 00:20:57 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
AC
|
| 実行時間 | 1 ms / 2,000 ms |
| コード長 | 957 bytes |
| コンパイル時間 | 12,780 ms |
| コンパイル使用メモリ | 384,232 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-10-01 05:17:47 |
| 合計ジャッジ時間 | 13,953 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 29 |
コンパイルメッセージ
warning: unused label
--> src/main.rs:11:5
|
11 | 'start: for i in 0..input.len() {
| ^^^^^^
|
= note: `#[warn(unused_labels)]` on by default
warning: unused variable: `pos`
--> src/main.rs:6:13
|
6 | let mut pos = 0;
| ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
|
= note: `#[warn(unused_variables)]` on by default
warning: variable does not need to be mutable
--> src/main.rs:6:9
|
6 | let mut pos = 0;
| ----^^^
| |
| help: remove this `mut`
|
= note: `#[warn(unused_mut)]` on by default
ソースコード
fn main() {
let mut input = String::new();
let _ = std::io::stdin().read_line(&mut input);
let input = input.chars().collect::<Vec<char>>();
let mut pos = 0;
let test = vec!['c', 'w', 'w'];
let mut check = vec![];
let mut min = -1;
'start: for i in 0..input.len() {
let mut test_index = 0;
check.clear();
'inner: for j in i..input.len() {
if test[test_index] == input[j] {
check.push(j);
test_index += 1;
if check.len() == test.len() {
if min == -1 {
min = (check[check.len()-1] + 1 - check[0]) as i32;
} else if ((check[check.len()-1] + 1 - check[0]) as i32) < min {
min = (check[check.len()-1] + 1 - check[0]) as i32;
}
break 'inner;
}
}
}
}
println!("{}", min);
}