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