SGU[115] Calendar

Description

描述

First year of new millenium is gone away. In commemoration of it write a program that finds the name of the day of the week for any date in 2001.

千禧年过后的第一年已经过去了。为了纪念它,请你写一个程序来计算2001年中任何一天的星期。

Input

输入

Input is a line with two positive integer numbers N and M, where N is a day number in month MN and M is not more than 100.

输入文件包含两个正整数N、M,表示第M月的第N天。其中N、M均不会超过100。

Output

输出

Write current number of the day of the week for given date (Monday – number 1, … , Sunday – number 7) or phrase “Impossible” if such date does not exist.

输出当天的星期对应的数字(星期一 - 1, ···,星期天 - 7),如果输入的日期不合法,输出“Impossible”。

Sample Input

样例输入

21 10

Sample Output

样例输出

7

Analysis

分析

翻看日历,我们可以知道2001年1月1日为星期一。

这样,我们只需要计算输入的日期为该年中的第几天就行了。

当然,要记得判断输入的日期是否合法。

Solution

解决方案

#include <iostream>

using namespace std;

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

int main()
{
	int N, M, ans = 0;
	cin >> N >> M;
	if((M > 12 || N > 31) ||
		(M == 4 || M == 6 || M == 9 || M == 11) && N > 30 ||
		M == 2 && N > 28)
	{
		cout << "Impossible" << endl;
	}
	else
	{
		for(int i = 1; i < M; i++)
		{ ans += pDay[i]; }
		ans += N;
		cout << (ans % 7 == 0 ? 7 : ans % 7) << endl;
	}
	return 0;
}

这道题目是关于日期处理的,也是非常常见的题型。

时间: 2024-10-11 19:02:04

SGU[115] Calendar的相关文章

SGU - 115 - Calendar (基础题!)

SGU - 115 Calendar Time Limit: 250MS   Memory Limit: 4096KB   64bit IO Format: %I64d & %I64u Submit Status Description First year of new millenium is gone away. In commemoration of it write a program that finds the name of the day of the week for any

SGU 115

水题,调用蔡勒公式即可解决.(由于年份限定为2001,所以模拟似也可以解决) 注意判定数据的合法性. 另外,根据题目要求,出现负数或零的数据也是符合题目条件的,但似乎SGU并没有这么做- - #include "stdio.h" int main(){ int maxday[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int Y=1,C=20; int M,D,day; scanf("%d%d",&D,&

Calendar - SGU 115(日期判断)

这年的开始的第一天是星期 1 代码如下: ======================================================================================================== #include<stdio.h> #include<algorithm> #include<vector> #include<iostream> #include<math.h> #include

微信支付(JSAPI) - Java

最近客栈订房,当然是需要微信支付的,官方微信支付文档什么的,只想说 去你妈的文档 so, 经过两天不懈的努力和网上大牛文档,终于做出来了,下面具体来说说,希望能对各位看客有点帮助 放大招,直接上代码 1. Configure.java 文件 1 package com.kzb.website.core.wechat.common; 2 3 import java.util.Calendar; 4 import java.util.Date; 5 6 import org.apache.commo

Java+Windows+ffmpeg实现视频转换

最近由于项目需要,研究了一下如何用Java实现视频转换,“着实”废了点心思,整理整理,写出给自己备忘下. 思路 由于之前没有没法过相关功能的经验,一开始来真不知道从哪里入手.当然,这个解决,google一下立马就发现了ffmpeg,网上讲解用Java+ffmpeg来进行视频转换的文章也不在少数,我主要参考的这篇文章. 上文提到的这篇文章,基本已经把开发流程什么的讲的很清楚了,这里总结下: 1)核心是利用ffmpeg进行视频转换,我们自己并不写转换视频的代码,只是调用ffmpeg,它会帮我们完成视

SGU 438 The Glorious Karlutka River =) 拆点+动态流+最大流

The Glorious Karlutka River =) Time Limit:500MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status Practice SGU 438 Appoint description: Description A group of Mtourists are walking along the Karlutka river. They want to cross

sgu Kalevich Strikes Back

这道题就是求一个大矩形被n个矩形划分成n+1个部分的面积,这些矩形之间不会相交,可能包含.. 1 #include <cstdio> 2 #include <cstring> 3 #include <vector> 4 #include <algorithm> 5 #define maxn 120100 6 using namespace std; 7 8 long long s[maxn]; 9 vector<int>g[maxn]; 10 i

[转]ASP.NET MVC HtmlHelper扩展之Calendar日期时间选择

本文转自:http://blog.bossma.cn/asp_net_mvc/asp-net-mvc-htmlhelper-calendar-datetime-select/ 这里我们扩展HtmlHelper,就像它包含在ASP.NET MVC中一样,扩展方法使我们能为已有的类添加方法.这里使用了一个日期时间选择控件:My97DatePicker,需要添加到网站中,并在页面中引用. 先看看是怎么扩展的: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Java 中Calendar、Date、SimpleDateFormat学习总结

在之前的项目中,经常会遇到Calendar,Date的一些操作时间的类,并且总会遇到时间日期之间的格式转化问题,虽然做完了但是总是忘记,记不清楚,每次还都要查找资料.今天总结一下,加深印象. Calendar Calendar是java.util 包下面的一个抽象类,它为特定瞬间与一组诸如YEAR.MONTH.DAY_OF_MONTH.HOUR等日历字段之间的转换提供了一些方法,并未操作日历字段(例如获得下星期的日期)提供了一些方法.瞬间值可用毫秒值来表示,它是距格林威治标准时间 1970 年1