EOJ3275. 章鱼哥没有日历

 单点时限: 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;
}

猜你喜欢

转载自blog.csdn.net/qingxiu3733/article/details/131754526