G - New Year and Days 【水题】


G - New Year and Days

 

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" where x (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" where x (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

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 are 52 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 exactly 11 months in the 2016 — all months but February. It means that Limak will save 11 candies in total.


题意:

给出星期几或者一个月的几号,判断这一天在2016年中一共有多少天


刚开始没注意到题目说15年最后一天是星期三这个条件,只要把情况考虑情况就行

注意2016年是从周6开始的,而且2016年是闰年


#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
	char a[10],b[10];
	int n;
	int s[32];
	for(int i=1;i<30;i++)
		s[i]=12;
	s[0]=0;s[30]=11;s[31]=7;
	while( ~scanf("%d %s %s",&n,a,b) )
	{
		if(b[0]=='w')
		{
			if(n==1||n==2||n==3||n==4||n==7)
			printf("52\n");
			else
			printf("53\n");
		}
		else if(b[0]=='m')
		printf("%d\n",s[n]);
	}
	
	return 0;
	
}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值