问题描述
  给定一个年份y和一个整数d,问这一年的第d天是几月几日?
  注意闰年的2月有29天。满足下面条件之一的是闰年:
  1) 年份是4的整数倍,而且不是100的整数倍;
  2) 年份是400的整数倍。
输入格式
  输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。
  输入的第二行包含一个整数d,d在1至365之间。
输出格式
  输出两行,每行一个整数,分别表示答案的月份和日期。
样例输入
2015
80
样例输出
3
21
样例输入
2000
40
样例输出
2
9
 
析:就从一月份开始暴力,判断一下闰年即可。
 
代码如下:

#pragma comment(linker, "/STACK:1024000000,1024000000")
#include <cstdio>
#include <string>
#include <cstdlib>
#include <cmath>
#include <iostream>
#include <cstring>
#include <set>
#include <queue>
#include <algorithm>
#include <vector>
#include <map>
#include <cctype>
#include <cmath>
#include <stack>
#define freopenr freopen("in.txt", "r", stdin)
#define freopenw freopen("out.txt", "w", stdout)
using namespace std; typedef long long LL;
typedef pair<int, int> P;
const int INF = 0x3f3f3f3f;
const double inf = 0x3f3f3f3f3f3f;
const LL LNF = 0x3f3f3f3f3f3f;
const double PI = acos(-1.0);
const double eps = 1e-8;
const int maxn = 1e4 + 5;
const int mod = 1e9 + 7;
const int dr[] = {-1, 0, 1, 0};
const int dc[] = {0, 1, 0, -1};
const char *Hex[] = {"0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"};
int n, m;
const int mon[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
const int monn[] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
inline int Min(int a, int b){ return a < b ? a : b; }
inline int Max(int a, int b){ return a > b ? a : b; }
inline LL Min(LL a, LL b){ return a < b ? a : b; }
inline LL Max(LL a, LL b){ return a > b ? a : b; }
inline bool is_in(int r, int c){
return r >= 0 && r < n && c >= 0 && c < m;
} bool is_leapyear(int x){
if(x % 400 == 0) return true;
if(x % 100 == 0) return false;
if(x % 4 == 0) return true;
return false;
} int main(){
while(scanf("%d %d", &n, &m) == 2){
int month, day;
if(is_leapyear(n)){
month = 0;
while(m - monn[month] > 0) m -= monn[month], ++month;
day = m;
}
else{
month = 0;
while(m - mon[month] > 0) m -= mon[month], ++month;
day = m;
}
printf("%d\n%d\n", month, day);
}
return 0;
}

最新文章

  1. EMIS系统运行时提示【无法验证发行者,您确实要运行此软件吗? 】
  2. android.widget.RadioButton 单选按钮(转)
  3. Mango DS Traning #49 ---线段树3 解题手记
  4. 开发机上绕过Chrome同源策略的办法
  5. 《OD学HBase》20160820
  6. 【求出所有最短路+最小割】【多校第一场】【G题】
  7. Nimbus&lt;二&gt;storm启动nimbus源码分析-nimbus.clj
  8. Web Animations API (JS动画利器)
  9. 如何让多个li居中于ul中间
  10. 654. Maximum Binary Tree
  11. CSS基础【1】:体验CSS
  12. python学习笔记三——控制语句
  13. python接口自动化测试五:乱码、警告、错误处理
  14. i++和++i的笔试题
  15. sqlserver 导入导出
  16. Hudson 打包部署到Was上特别慢
  17. LeetCode题解之 Longest Common Prefix
  18. 阿里云rds 备份和还原
  19. e840. 监听JTabbedPane中选中卡片的改变
  20. 缓存jQuery对象来提高性能

热门文章

  1. kubernetes对象之Ingress
  2. caffe学习--cifar10学习-ubuntu16.04-gtx650tiboost--1g--01
  3. java操作redis学习(一):安装及连接
  4. html抽取文本信息-java版(适合lucene建立索引)
  5. FFmpeg Basics阅读笔记1:介绍
  6. commons io上传文件
  7. jQuery 给div绑定单击事件
  8. ZOJ - 3950 How Many Nines 【前缀和】
  9. android中样式和自定义button样式
  10. jquery特效(2)—选项卡