单点时限: 2.0 sec
内存限制: 256 MB
一月到十二月,这种无聊的东西,对于章鱼哥这种神奇的生物来说,当然是没有意义的。对于章鱼哥来说,只有年和日,没有月。他只关心某一天是这一年的第几天。
如果你要告诉它华东师范大学的校赛将在 2017 年 5 月 20 日举行,他就会非常郁闷了。因为他对 5 月 20 日根本就没有概念。他只关心 5 月 20 日是 2017 年的第几天。
如果你要告诉它 2017 年 2 月 29 日,Uncle John 要举行婚礼了,他也会似懂非懂。因为他对月没有概念,所以他根本就不知道 2017 年 2 月 29 日存不存在(事实上是不存在的)。
现在给出 2017 年某一天的日期,你要告诉章鱼哥这是 2017 年的第几天。如果根本没有这一天,你也要告诉章鱼哥这一天「不存在的」。
输入格式
输入只有一行,以 2017-MM-DD
的形式给出 2017 年的某一天。MM
和 DD
分别表示两位数的月和日(保证都是数字)。
输出格式
输出一行,表示这一天是 2017 年的第几天。
如果这一天「不存在的」,输出 −1。
样例
input
扫描二维码关注公众号,回复:
16866161 查看本文章
2017-01-02
output
2
input
2017-02-01
output
32
input
2017-00-00
output
-1
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main() {
int mon, day;
int ret = 0;
int contain[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
scanf("2017-%d-%d", &mon, &day);
if (mon >= 13 || mon <= 0) {
ret = -1;printf("%d", ret);return 0;
}
if (day > contain[mon] || day <= 0) {
ret = -1;printf("%d", ret);return 0;
}
else {
for (int i = 1; i < mon; i++) {
ret += contain[i];
}
ret += day;
}
printf("%d", ret);
return 0;
}