【codeforces 760A】Petr and a calendar

time limit per test2 seconds
memory limit per test256 megabytes
inputstandard input
outputstandard output
Petr wants to make a calendar for current month. For this purpose he draws a table in which columns correspond to weeks (a week is seven consequent days from Monday to Sunday), rows correspond to weekdays, and cells contain dates. For example, a calendar for January 2017 should look like on the picture:

Petr wants to know how many columns his table should have given the month and the weekday of the first date of that month? Assume that the year is non-leap.

Input
The only line contain two integers m and d (1 ≤ m ≤ 12, 1 ≤ d ≤ 7) — the number of month (January is the first month, December is the twelfth) and the weekday of the first date of this month (1 is Monday, 7 is Sunday).

Output
Print single integer: the number of columns the table should have.

Examples
input
1 7
output
6
input
1 1
output
5
input
11 6
output
5
Note
The first example corresponds to the January 2017 shown on the picture in the statements.

In the second example 1-st January is Monday, so the whole month fits into 5 columns.

In the third example 1-st November is Saturday and 5 columns is enough.

【题目链接】:http://codeforces.com/contest/760/problem/A

【题解】

1,3,5,7,8,10,12是31天.其他的除了2月28天外都是30天.
模拟现在到了第几天就好;
给的是第一天的日期.
所以从第一排到最后一排模拟一下就好.

【完整代码】

#include <bits/stdc++.h>

using namespace std;

const int days[14] = {0,31,28,31,30,31,30,31,31,30,31,30,31};

int m,d;

int main()
{
    cin >> m >> d;
    int now = d,cnt = 1,c = 1;
    while (cnt<days[m])
    {
        cnt++;
        now++;
        if (now>7)
        {
            now = 1;
            c++;
        }
    }
    cout << c << endl;
    return 0;
}
原文地址:https://www.cnblogs.com/AWCXV/p/7626708.html