提出 #35029967
ソースコード 拡げる
use std::collections::HashSet;
use proconio::{input, marker::Chars};
fn main() {
input! {
s: Chars,
};
let mut y = s[0..4].iter().collect::<String>().parse::<usize>().unwrap();
let mut m = s[5..7].iter().collect::<String>().parse::<usize>().unwrap();
let mut d = s[8..10]
.iter()
.collect::<String>()
.parse::<usize>()
.unwrap();
let leap = |y: usize| (y % 400 == 0) || ((y % 4 == 0) && (y % 100 != 0));
let dom = |y: usize, m: usize| -> usize {
let d = if leap(y) {
vec![31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
} else {
vec![31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
};
d[m - 1]
};
let next = |(y, m, d): (usize, usize, usize)| -> (usize, usize, usize) {
if dom(y, m) != d {
(y, m, d + 1)
} else if m == 12 {
(y + 1, 1, 1)
} else {
(y, m + 1, 1)
}
};
let ok = |(y, m, d): (usize, usize, usize)| -> bool {
format!("{}{:02}{:02}", y, m, d)
.chars()
.collect::<HashSet<_>>()
.len()
== 2
};
while !ok((y, m, d)) {
let (ny, nm, nd) = next((y, m, d));
y = ny;
m = nm;
d = nd;
}
println!("{}/{:02}/{:02}", y, m, d);
}
提出情報
| 提出日時 |
|
| 問題 |
E - 良い日付 |
| ユーザ |
bouzuya |
| 言語 |
Rust (1.42.0) |
| 得点 |
7 |
| コード長 |
1342 Byte |
| 結果 |
AC |
| 実行時間 |
125 ms |
| メモリ |
2172 KiB |
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
7 / 7 |
| 結果 |
|
|
| セット名 |
テストケース |
| Sample |
00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt |
| All |
00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 02_corner_0_00.txt, 02_corner_0_01.txt, 02_corner_0_02.txt, 02_corner_0_03.txt, 02_corner_0_04.txt, 03_corner_1_00.txt, 03_corner_1_01.txt, 03_corner_1_02.txt, 03_corner_1_03.txt, 03_corner_1_04.txt, 03_corner_1_05.txt, 03_corner_1_06.txt, 03_corner_1_07.txt, 04_corner_2_00.txt, 04_corner_2_01.txt, 04_corner_2_02.txt, 04_corner_2_03.txt, 04_corner_2_04.txt, 04_corner_2_05.txt, 05_large_00.txt, 05_large_01.txt, 05_large_02.txt |
| ケース名 |
結果 |
実行時間 |
メモリ |
| 00_sample_00.txt |
AC |
6 ms |
2036 KiB |
| 00_sample_01.txt |
AC |
1 ms |
2056 KiB |
| 00_sample_02.txt |
AC |
14 ms |
2084 KiB |
| 00_sample_03.txt |
AC |
3 ms |
1964 KiB |
| 01_random_00.txt |
AC |
69 ms |
2064 KiB |
| 01_random_01.txt |
AC |
17 ms |
2172 KiB |
| 01_random_02.txt |
AC |
50 ms |
2008 KiB |
| 02_corner_0_00.txt |
AC |
3 ms |
2116 KiB |
| 02_corner_0_01.txt |
AC |
2 ms |
2108 KiB |
| 02_corner_0_02.txt |
AC |
1 ms |
2116 KiB |
| 02_corner_0_03.txt |
AC |
3 ms |
2048 KiB |
| 02_corner_0_04.txt |
AC |
1 ms |
2064 KiB |
| 03_corner_1_00.txt |
AC |
1 ms |
2144 KiB |
| 03_corner_1_01.txt |
AC |
1 ms |
2044 KiB |
| 03_corner_1_02.txt |
AC |
1 ms |
2088 KiB |
| 03_corner_1_03.txt |
AC |
2 ms |
2080 KiB |
| 03_corner_1_04.txt |
AC |
1 ms |
2028 KiB |
| 03_corner_1_05.txt |
AC |
1 ms |
1904 KiB |
| 03_corner_1_06.txt |
AC |
1 ms |
2076 KiB |
| 03_corner_1_07.txt |
AC |
1 ms |
2040 KiB |
| 04_corner_2_00.txt |
AC |
1 ms |
1980 KiB |
| 04_corner_2_01.txt |
AC |
1 ms |
1952 KiB |
| 04_corner_2_02.txt |
AC |
1 ms |
2036 KiB |
| 04_corner_2_03.txt |
AC |
2 ms |
2072 KiB |
| 04_corner_2_04.txt |
AC |
1 ms |
1944 KiB |
| 04_corner_2_05.txt |
AC |
1 ms |
2040 KiB |
| 05_large_00.txt |
AC |
21 ms |
2044 KiB |
| 05_large_01.txt |
AC |
4 ms |
2056 KiB |
| 05_large_02.txt |
AC |
125 ms |
2148 KiB |