blob: c8e953dcbc64d58c4ffd65f46f46b93bdf98107e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#include<iostream>
#include<string>
#include<regex>
unsigned short digital_clock(const std::string &str)
{
std::regex re{"(.)(.):(.)(.)"};
std::smatch m;
if (std::regex_match(str, m, re))
{
return m[1] == '?' ? (std::stoi(m.str(2)) < 4 ? 2 : 1)
: m[2] == '?' ? (std::stoi(m.str(1)) < 2 ? 9 : 3)
: m[3] == '?' ? 5 : 9;
}
return 0;
}
int main()
{
std::cout << digital_clock("?5:00") << '\n';
std::cout << digital_clock("?3:00") << '\n';
std::cout << digital_clock("1?:00") << '\n';
std::cout << digital_clock("2?:00") << '\n';
std::cout << digital_clock("12:?5") << '\n';
std::cout << digital_clock("12:5?") << '\n';
return 0;
}
|