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.
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.
Print one integer — the number of candies Limak will save in the year 2016.
4 of week
52
30 of month
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.
题意: x of week" 算出2016中有几个星期x
"x of month" 算出2016 中 有几个 每个月第x天
题解:
吧每个月的天数写出来,。。。。
//meek #include<bits/stdc++.h> #include <iostream> #include <cstdio> #include <cmath> #include <string> #include <cstring> #include <algorithm> #include<map> using namespace std ; typedef long long ll; #define mem(a) memset(a,0,sizeof(a)) #define pb push_back #define fi first #define se second #define MP make_pair const int N=400+100; const ll INF = 1ll<<61; const int inf = 1000000007; const int MOD= 1000007; int s[15] = {31,29,31,30,31,30,31,31,30,31,30,31}; char a[20],b[20]; int main() { int sum = 0,ans=0,n; for(int i=0;i<12;i++) sum+=s[i]; scanf("%d%s%s",&n,a,b); if(b[0] == 'w') { int f = 5; for(int i=1;i<=sum;i++) { if(f==n) ans++; f++; if(f==8) f=1; } cout<<ans<<endl; } else { if(n<=29) cout<<12<<endl; else if(n==30) cout<<11<<endl; else cout<<7<<endl; } return 0; }