CF Good Bye 2015 A- New Year and Days(CF611A)

第一次寫cf的題解,希望以這種方式激勵自己多思考一下這些算法,記錄自己的成長曆程。。。


A. New Year and Days
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

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.

Sample test(s)
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 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年有多少個。

分析:簽到題,不過寫了這題我才發現2016年是閏年尷尬


code:

#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<queue>
#include<math.h>

using namespace std;

int main()
{
    int n;
    char a[10],b[10];
    cin>>n>>b>>a;
    if(a[0]=='w')
    {
        if(n==5 || n==6) cout<<53<<endl;
        else cout<<52<<endl;
    }
    else if(a[0]=='m')
    {
        if(n<=29)cout<<12<<endl;
        else if(n==30) cout<<11<<endl;
        else if(n==31) cout<<7<<endl;
    }
    return 0;
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章