【noip题目代码】回文日期;vetor,模拟,iterator
2017-05-23 17:39
253 查看
题目很简单。枚举后面四位就行了。
#include<vector> #include<stdio.h> #include<iostream> #include<algorithm> using namespace std; int moths[13] = { 0, 31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; //1 true //0 flase int isHuiwen(int num) { int sum = 0; int oldNum = num; while (num != 0) { sum *= 10; sum+=num % 10; num /= 10; } if (oldNum == sum) { return 1; } else { return 0; } } bool isRunYear(int year) { if (year % 4 == 0 && year % 100 != 0) { return true; } if (year % 400 == 0) { return true; } } bool isRightMothDay(int num) { //2012 12 22 int year = num / 10000; int moth=num / 100 % 100; int day = num % 100; if (moth == 2) { if (isRunYear(year)) { moths[2] = 29; } else { moths[2] = 28; } } if (day > moths[moth]) { return false; } else { return true; } return false; } int main() { vector<int> v; int ans = 0; int date1 = 0; int date2 = 0; cin >> date1 >> date2; for (int i = date1 / 10000; i<=date2/10000; i++) { for (int j= 0; j <= 1231; j++) { int temp = 0; if (isHuiwen(temp = i * 10000 + j)) { v.push_back(temp); } } } for (std::vector<int>::iterator it = v.begin(); it != v.end(); ++it) { if (*it >= date1 && *it <= date2) { if (isRightMothDay(*it)) { ans++; } } } cout << ans; system("pause"); return 0; }
相关文章推荐
- 【noip题目代码】海港;模拟,iterator,memset(TLE)
- 【noip题目代码】魔法阵;模拟,iterator,
- 【NOIP2013模拟】Freda的传呼机 题解+代码
- 【NOIP2013模拟】归途与征程 题解+代码
- NOIP2016普及组复赛第二题60分程序加题解pascal大神求帮忙!!!———回文日期
- 【noip题目代码】买铅笔;ceil向上取整,隐式浮点数,pause
- NOIP2016 第二题 回文日期
- <编程珠玑>3.4 日期问题 && 杭电hdu acm 2133题目代码
- NOIP2016-普及组复赛-第2题-回文日期
- 【NOIP2016】回文日期
- 【NOIP2016普及组】解题报告 买铅笔 回文日期 海港 魔法阵
- 【NOIP2013模拟】Vani和Cl2捉迷藏 题解&代码
- 【NOIP2016提高A组模拟7.15】颜料大乱斗 题解+代码
- 【NOIP2016提高A组模拟7.15】计数 题解+代码
- NOIP2016普及组第二题——回文日期
- 【用膝盖写代码系列】(3):NOIP2012普及组题目详解
- 【NOIP2013模拟】粉刷匠 题解&代码
- 【NOIP2016提高A组模拟7.15】修路 题解+代码
- 2016.08.18【初中部 NOIP普及组 】模拟赛题目
- 【NOIP2016普及组】复赛——回文日期