hpu暑假训练G - New Year and Days【数学】

本文介绍了一个关于小北极熊Limak在2016年定期储蓄糖果的有趣问题,根据不同的储蓄规则(每周固定某一天或每月固定某一天),计算一年内能储蓄的糖果总数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Today is Wednesday, the third day of the week. What's more interesting is that tomorrow is the last day of the year 2015.

Limak is a little polar bear. He enjoyed this year a lot. Now, he is so eager to the coming year 2016.

Limak wants to prove how responsible a bear he is. He is going to regularly save candies for the entire year 2016! He considers various saving plans. He can save one candy either on some fixed day of the week or on some fixed day of the month.

Limak chose one particular plan. He isn't sure how many candies he will save in the 2016 with his plan. Please, calculate it and tell him.

Input

The only line of the input is in one of the following two formats:

  • "x of week" wherex (1 ≤ x ≤ 7) denotes the day of the week. The 1-st day is Monday and the 7-th one is Sunday.
  • "x of month" wherex (1 ≤ x ≤ 31) denotes the day of the month.
Output

Print one integer — the number of candies Limak will save in the year 2016.

Example
Input
4 of week
Output
52
Input
30 of month
Output
11
Note

Polar bears use the Gregorian calendar. It is the most common calendar and you likely use it too. You can read about it on Wikipedia if you want to –https://en.wikipedia.org/wiki/Gregorian_calendar. The week starts with Monday.

In the first sample Limak wants to save one candy on each Thursday (the 4-th day of the week). There are52 Thursdays in the 2016. Thus, he will save 52 candies in total.

In the second sample Limak wants to save one candy on the 30-th day of each month. There is the 30-th day in exactly11 months in the 2016 — all months but February. It means that Limak will save11 candies in total.




解析:

         首先要知道2016年是闰年,有366天,第一天是周五,最后一天是周六。除了周五周六有53天,其它的只有52天。

        还有就是2月有29天。

        注意输入的格式,如果有更好的方法请联系博主哦。

程序如下:

#include<cstdio>
#include<cstring>
int main()
{
	int n;
	char c[10];
	scanf("%d of ",&n);
	gets(c);
	int l=strlen(c);
	if(l==4)
	{
		if(n!=5&&n!=6)
		   printf("52\n");
		else
		   printf("53\n");
	}
	else
	{
		if(n>=1&&n<=29)
		   printf("12\n");
		else if(n==30)
		   printf("11\n");
		else
		   printf("7\n");
		   
	}
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值