第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. open(/dev/ietctl, O_RDWR) 参数含义
  2. thinkphp中出现unserialize(): Error at offset 533 of 1857 bytes如何解决
  3. linux shell 计算器 除0,用shell写一个简易计算器,可以实现加、减、乘、除运算,假如脚本名字为1.sh,执行示例:./1....
  4. centons7网卡配置文件使用openvswitch bridge
  5. java多线程的优点_【java多线程的优点】
  6. 2020年计算机一级B押题,2021年全国计算机一级选择题真题押题.doc
  7. DWRUtil未定义的问题
  8. mysql的comment_mysql的comment怎么用
  9. Win10系统配置Python3.6+OpenGL环境详细步骤
  10. rocketmq教程教程,JDK8 Stream 数据流效率分析
  11. wamp配置中的大小写
  12. Opmanager研究笔记
  13. 汉字笔画动图怎么做_汉字笔画动态图软件 汉字笔画大全
  14. Google Earth Pro软件无法登录,打开为黑色
  15. lldp协议代码阅读_LLDP(lldp协议平时开启还是关闭)
  16. 校招行测笔试-言语理解与表达
  17. python蓝屏代码_死机、卡顿、蓝屏,Python部门的老江湖告诉我的一些超级变态代码...
  18. 《非暴力沟通》学习笔记
  19. pythoneducoder苹果梨子煮水的功效_苹果梨子汤的功效
  20. 经典Hbase面试7题(附答案)

热门文章

  1. Django项目开发纪要
  2. vnc无画面的解决方法
  3. bootstrap学习(七):跟着宝哥学java:bootstrap表格显示图片
  4. 扬帆凌远:2022年单干可以选择SHOPEE吗?
  5. [奇思异想]使用RabbitMQ实现定时任务
  6. 基于自回归整合滑动平均模型(ARIMA)的时间序列预测
  7. CDMA技术的发展给我们的启示(转)
  8. 「数字化生产」PDM和PIM:有什么区别?
  9. python基础作业题
  10. 【三国演义】——周瑜、庞统