結果
| 問題 | No.188 HAPPY DAY |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-01-26 20:44:11 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
AC
|
| 実行時間 | 1 ms / 1,000 ms |
| コード長 | 1,271 bytes |
| コンパイル時間 | 14,803 ms |
| コンパイル使用メモリ | 378,052 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-09-14 11:33:39 |
| 合計ジャッジ時間 | 13,306 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 1 |
ソースコード
use std::cmp;
static MONTH_DAYS: &'static [i32] = &[
0, // dummy
31, // Jan
28, // Feb
31, // Mar
30, // Apr
31, // May
30, // Jun
31, // Jul
31, // Aug
30, // Sep
31, // Oct
30, // Nov
31, // Dec
];
fn solve() {
// 1..9
// - 1 : 01 - 10, (01, 10)
// - 2 : 02 - 20, (12, 11, 20)
// - 3 : 03 - 30, (03, 12, 21, 30)
// - 4 : 04 - max (04, 13, 22), NG: 31
// - 5 : 05 - max (05, 14, 23), NG: 32, 41
// ...
// - 9 : 09 - max (09, 18, 27), NG: 36, 45, ...
// 10..12
// - 10 : 10 - max (19, 28), NG : 37, 46, ...
// - 11 : 11 - max (29), NG : 38, 47, ...
// - 12 : 12 - max (), NG : 39, 48, ...
let mut count = 0;
for month in 1..=12 {
let start = if month < 10 {
month
} else {
(month - 9) * 10 + 9
};
let stop = cmp::min(month * 10, MONTH_DAYS[month as usize]);
if start > stop {
break;
}
for offset in 0..4 {
let happy_day = start + offset * 9;
if happy_day > stop {
break;
}
count += 1;
}
}
println!("{}", count);
}
fn main() {
solve();
}