NOIP 2016普及组复赛C/C++详细题解报告
第1题
这题很简单,唯一需要注意的是需要判断能不能整除。
#include <iostream>
#include <climits>
#include <cstdio>
using namespace std;int main()
{freopen(".\\pencil.in", "r", stdin);freopen(".\\pencil.out", "w", stdout);int n;cin >> n;int c[3], p[3];int ans;int mn = INT_MAX;for(int i = 0; i < 3; i++){cin >> c[i] >> p[i];ans = (n / c[i]) * p[i];// 如果不能整除还要再来一包if(n % c[i]){ans += p[i];}if(ans < mn){mn = ans;}}cout << mn << endl;return 0;
}
第2题
一、思路
一年是365天,如果闰年是366天。月日构成的数字最多只有366个。
第一步:构造出所有的日期(后四位)
第二步:利用回文的规则,构造出相应的年份
第三步:判断这个年份和日期在不在区间内
例如:10月28日,日期写成1028,对应回文的年份是:8201年
判断82011028这一天在不在(指定的起始日期)到(指定的终止日期)之间
程序时间复杂度为O(366)。
注意,本题的闰年是个干扰项,因为闰年只有92200229是回文数,其他的闰年都不是回文数。也就是说,把每年的2月份都按闰年来算,对结果没有影响。
二、代码
#include<iostream>
using namespace std;
int main()
{freopen(".\\date.in", "r", stdin);freopen(".\\date.out", "w", stdout);// date对应日期,m-月倒置后的数值,d-日倒置后的数值long m, d, t, date, date1, date2, sum = 0;long mon[13] = {0,31,29,31,30,31,30,31,31,30,31,30,31};cin >> date1 >> date2;//输入起始结束日期for(int i = 1; i <= 12; i++){m = i % 10 * 10 + i / 10;//1-12月份倒置之后的值t = mon[i];for(int j = 1; j <= t; j++){d = j % 10 * 10 + j / 10;//1-t日倒置之后的值date = (d * 100 + m) * 10000 + i * 100 + j;//对应回文的日期if(date >= date1 && date <= date2){sum++;//判断这个日期在不在查询范围内}}}cout << sum << endl;return 0;
}
>信息学学习、算法答疑请加微信307591841
NOIP 2016普及组复赛C/C++详细题解报告相关推荐
- c语言普及组复赛题目大全,NOIP 2016普及组复赛C/C++详细题解报告
第1题 这题很简单,唯一需要注意的是需要判断能不能整除.#include #include #include using namespace std;int main(){ freopen(" ...
- NOIP 2012 普及组 复赛 culture 文化之旅
NOIP 2012 普及组 复赛 culture 文化之旅 1.找寻迪杰斯特拉(Dijkstra)算法,难度适中,过程中,找到该题. 2.结合题意,弄懂输入输出样例是关键一步. 3.为了能解决2,纸笔 ...
- NOIP 2010 普及组 复赛 sanguo 三国游戏
NOIP 2010 普及组 复赛 sanguo 三国游戏 1.扫到他人讨论,取第2大值,且小涵必胜. 2.编码,样例通过,提交,只通过了测试点1,6. 3.看了题解,发现是武将配对中,找出配对的第2大 ...
- C语言普及组NOIP考试培训,NOIP 2018普及组复赛解题报告来了!
以下解题思路及选手代码未经官方评测,仅供参考,复赛成绩以官方(CCF)评测结果为准. 主要考察字符串.参考代码: #include int main() { int ans = 0; char ch; ...
- NOIP 2016 普及组 Solution (T1-T3)
第一题 直接贴Code: 1 #include <cstdio> 2 int min(int a,int b) 3 { 4 return a<b?a:b; 5 } 6 using n ...
- 近年NOIP普及组复赛题目的简单讲解
NOIP2015普及组复赛 整套题都出得不错,难度适中,层次分明 建议同学们在做题的时候还是先在草稿纸上分析,把关键算法的伪代码写出来,然后设计数据进行静态查错,没有问题后再到电脑上敲出代码.实际效率 ...
- NOIP 2008 提高组 复赛 message 传字条
NOIP 2008 提高组 复赛 message 传字条 1.样例很快模拟成功,但感觉是凑出来的,没有章法. 2.深度优先遍历,但感觉容易超时. 3.动态规划?翻看他人代码,发现动态规划的写法,确实想 ...
- NOIP 2018 普及组 初赛
NOIP 2018 普及组 初赛 姐妹篇 NOIP 2018 提高组 初赛 点评 欢迎查阅此文 https://blog.csdn.net/mrcrack/article/details/830489 ...
- [NOIP 2011普及组 No.4] 表达式的值
[NOIP 2011普及组 No.4] 表达式的值 [问题描述] 对于1 位二进制变量定义两种运算: 运算的优先级是: 1. 先计算括号内的,再计算括号外的. 2. "×"运算优先 ...
最新文章
- echarts.js 做图表的插件
- Linker加载so失败问题分析
- java数字图像处理开题报告,数字图像处理开题报告.doc
- 在Eclipse中查看Javadoc文档
- Android中Webview使用javascript调用事先定义好的Java函数
- c语言万年历附加功能,万年历(c语言,多功能).doc
- LeetCode 545. 二叉树的边界(前序+后序)*
- java 普通类request_[Java教程]spring在普通类中获取session和request
- Redis 如何存储上亿级别的用户状态?
- 【Java3D】Java3D的Demo
- Vue+ElementUI 限制结束时间不能大于开始时间
- LightOJ1220 —— 质因数分解
- php创建留言板,PHP开发留言板教程之创建数据库
- 【零基础学Python】Day12 Python循环语句
- Node.js全栈开发笔记与心得
- linux内核max函数实现
- 工业锅炉远程监控平台_工业物联网解决方案案例
- C# 异常处理(Catch Throw)IL分析
- 【李宏毅《机器学习》2022】作业1:COVID 19 Cases Prediction (Regression)
- 剑指Offer-05:替换空格
热门文章
- vue3从零开始(一)
- 光流方法Flownet的简单调用
- 2、Py进制转换:荣耀机试题,任意2-64进制转10进制(自定义函数转换)
- java中while和dowhile
- 【CDH】选定的 Parcel 正在下载并安装在群集的所有主机上 主机运行状况不良
- 第十二天---用户组管理与提权
- 5G智慧港口解决方案
- 中集集团飞瞳全球港口航运人工智能领军企业中集飞瞳,成熟港航人工智能AI为港口船公司大幅提效降本,新一代智慧港口智慧船公司解决方案
- python绘画标准流程_python3绘图示例6-2(基于matplotlib,绘图流程介绍及设置等)...
- android mdns开发实例,mDNS浅析及应用