第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++详细题解报告相关推荐

  1. c语言普及组复赛题目大全,NOIP 2016普及组复赛C/C++详细题解报告

    第1题 这题很简单,唯一需要注意的是需要判断能不能整除.#include #include #include using namespace std;int main(){ freopen(" ...

  2. NOIP 2012 普及组 复赛 culture 文化之旅

    NOIP 2012 普及组 复赛 culture 文化之旅 1.找寻迪杰斯特拉(Dijkstra)算法,难度适中,过程中,找到该题. 2.结合题意,弄懂输入输出样例是关键一步. 3.为了能解决2,纸笔 ...

  3. NOIP 2010 普及组 复赛 sanguo 三国游戏

    NOIP 2010 普及组 复赛 sanguo 三国游戏 1.扫到他人讨论,取第2大值,且小涵必胜. 2.编码,样例通过,提交,只通过了测试点1,6. 3.看了题解,发现是武将配对中,找出配对的第2大 ...

  4. C语言普及组NOIP考试培训,NOIP 2018普及组复赛解题报告来了!

    以下解题思路及选手代码未经官方评测,仅供参考,复赛成绩以官方(CCF)评测结果为准. 主要考察字符串.参考代码: #include int main() { int ans = 0; char ch; ...

  5. 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 ...

  6. 近年NOIP普及组复赛题目的简单讲解

    NOIP2015普及组复赛 整套题都出得不错,难度适中,层次分明 建议同学们在做题的时候还是先在草稿纸上分析,把关键算法的伪代码写出来,然后设计数据进行静态查错,没有问题后再到电脑上敲出代码.实际效率 ...

  7. NOIP 2008 提高组 复赛 message 传字条

    NOIP 2008 提高组 复赛 message 传字条 1.样例很快模拟成功,但感觉是凑出来的,没有章法. 2.深度优先遍历,但感觉容易超时. 3.动态规划?翻看他人代码,发现动态规划的写法,确实想 ...

  8. NOIP 2018 普及组 初赛

    NOIP 2018 普及组 初赛 姐妹篇 NOIP 2018 提高组 初赛 点评 欢迎查阅此文 https://blog.csdn.net/mrcrack/article/details/830489 ...

  9. [NOIP 2011普及组 No.4] 表达式的值

    [NOIP 2011普及组 No.4] 表达式的值 [问题描述] 对于1 位二进制变量定义两种运算: 运算的优先级是: 1. 先计算括号内的,再计算括号外的. 2. "×"运算优先 ...

最新文章

  1. echarts.js 做图表的插件
  2. Linker加载so失败问题分析
  3. java数字图像处理开题报告,数字图像处理开题报告.doc
  4. 在Eclipse中查看Javadoc文档
  5. Android中Webview使用javascript调用事先定义好的Java函数
  6. c语言万年历附加功能,万年历(c语言,多功能).doc
  7. LeetCode 545. 二叉树的边界(前序+后序)*
  8. java 普通类request_[Java教程]spring在普通类中获取session和request
  9. Redis 如何存储上亿级别的用户状态?
  10. 【Java3D】Java3D的Demo
  11. Vue+ElementUI 限制结束时间不能大于开始时间
  12. LightOJ1220 —— 质因数分解
  13. php创建留言板,PHP开发留言板教程之创建数据库
  14. 【零基础学Python】Day12 Python循环语句
  15. Node.js全栈开发笔记与心得
  16. linux内核max函数实现
  17. 工业锅炉远程监控平台_工业物联网解决方案案例
  18. C# 异常处理(Catch Throw)IL分析
  19. 【李宏毅《机器学习》2022】作业1:COVID 19 Cases Prediction (Regression)
  20. 剑指Offer-05:替换空格

热门文章

  1. vue3从零开始(一)
  2. 光流方法Flownet的简单调用
  3. 2、Py进制转换:荣耀机试题,任意2-64进制转10进制(自定义函数转换)
  4. java中while和dowhile
  5. 【CDH】选定的 Parcel 正在下载并安装在群集的所有主机上 主机运行状况不良
  6. 第十二天---用户组管理与提权
  7. 5G智慧港口解决方案
  8. 中集集团飞瞳全球港口航运人工智能领军企业中集飞瞳,成熟港航人工智能AI为港口船公司大幅提效降本,新一代智慧港口智慧船公司解决方案
  9. python绘画标准流程_python3绘图示例6-2(基于matplotlib,绘图流程介绍及设置等)...
  10. android mdns开发实例,mDNS浅析及应用