P5690 [CSP-S2019 江西] 日期
简要题意
给你一个格式为 \(\texttt{MM-DD}\) 的日期。你每一次可以更改一个整数,花费 \(1\) 的代价。求将该日期改为一个合法的日期的最小代价。(注:\(2\) 月视为 \(28\) 天)
思路
我再也不会看不起红题了!
首先判断月份是否合法,如果不合法,那么调整月份,分为一下情况:
- 若月份的十位为 \(1\),那么我们可以用 \(1\) 的代价,将月份改为 \(12\)(因为 \(12\) 月有 \(31\) 天,比 \(11\) 月多)
- 若月份个位为 \(2\),那么我们可以用 \(1\) 的代价,将月份改为 \(12\)。
- 否则将其改为个位数(个位数总是合法)。
然后判断天数,如果大于当前月份(如果不合法那么要改过的)的天数,那么花费 \(1\) 的代价,将它改为个位数即可。
时间复杂度 \(O(1)\)。
代码
#include <bits/stdc++.h>
using namespace std;
int month,day,tot;
int md[]={114514,31,28,31,30,31,30,31,31,30,31,30,31};
signed main(){
scanf("%d-%d",&month,&day);
if(month==0||month>12){
if(month/10==1){
month=12;
tot++;
}
else if(month%10==2){
month=12;
tot++;
}
else{
month=month%10;
tot++;
}
}
if(day==0||md[month]<day){
tot++;
}
cout<<tot<<'\n';
return 0;
}
P5690 [CSP-S2019 江西] 日期的更多相关文章
- LuoguP5690 [CSP-S2019 江西] 日期 题解
Content Alice 在纸上写下了一个日期,形式为 \(\text{MM-DD}\),其中 \(\text{MM}\) 与 \(\text{DD}\) 都是两位数字,分别表示月和天,然而这个日期 ...
- CCF CSP 201509-2 日期计算
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201509-2 日期计算 问题描述 给定一个年份y和一个整数d,问这一年的第d天是几月几日? ...
- 洛谷 P5690 [CSP-SJX2019]日期
传送门 思路 大水题一道,判断一下即可 输入直接用快读读两个数就行了,不需要读一个\(char\)类型的字符 年月不能为\(0\),月份不能超过\(12\),天数不能超过\(31\) 另外在二月天数的 ...
- python扒取百宝彩网站江西快三当日期号及开奖结果
一.环境 windows10+python27 二.需求: 1.获取百宝彩网站中,江西快三当日的开奖期号和中奖号码: 2.根据输入期号,输出开奖号码: 三.上代码 #!/bin/env python ...
- 一些随机数据的生成(日期,邮箱,名字,URL,手机号,日期等等)
直接上代码 import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import jav ...
- Perl爬取江西失信执行
#! /usr/bin/perl use strict; use Encode qw(encode decode); binmode(STDIN,":encoding(utf8)" ...
- Bootstrap~日期控制
回到目录 一个成熟的框架,日期控制是少不了的,在网上也有很多日期控制可以选择,而主框架用了bootstrap,日期控制也当前要用它自己的, 控件地址:http://www.bootcss.com/p/ ...
- JavaScript常用表单验证正则表达式(身份证、电话号码、邮编、日期、IP等)
身份证正则表达式 //身份证正则表达式(15位)isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;//身份证正则表达式 ...
- 伪教练技术培训之殇-2013年9月江西IDC拓行榜与综述
纠集几个人,然后培训所谓的教练技术培训. 培训的人一期又一期的参与,国学.佛学.超能量,无所不用其极,然后就是疯狂的拿人头,邀请朋友加盟. 有甚者还披上“科技”的外衣,用“水知道答案”这种早被公知指出 ...
- 从送外卖到建站售主机还有共享自行车说起-2017年8月江西IDC排行榜与发展报告
曾几何时,送外卖,这样的"低技术含量"工作,很难被互联网公司看上,直到百度将其当作连接终端用户与大数据的管道. 同样,销售主机域名和建站业务,本也是"微小体量" ...
随机推荐
- 齐博x1标签实例:调用多个圈子同时调用贴子
下面讲解,在首页,如何调用圈子的同时也调用他们相关的贴子. 单单调用圈子,就像调用文章一样,很多人都能轻松实现,比如下面的代码 {qb:tag name="xxx" type=&q ...
- python基础之open函数和路径处理
前言 本次内容主要介绍文件处理open函数以及路径处理. 一.open函数 根据前面介绍的函数调用方式,调用open函数. #open函数调用 open() TypeError: open() mis ...
- JQuery中的DataTables表格插件
一.DataTables表格插件的简介 DataTables是一个jQuery的表格插件.它具有以下特点: 自动分页处理 即时表格数据过滤 数据排序以及数据类型自动检测 自动处理列宽度 可通过CSS定 ...
- VS2022连接Oracle数据库所需包和连接字符串
VS连接ORACLE数据库 l VS2022连接ORACLE数据库时,需要引入Oracle.ManagedDataAccess.Core包. l 引入方式:打开VS2022==>项目==&g ...
- 泛化之美 —— C++11 可变参数模板的妙用
概述 首先这篇文章出自博客园作者:[qicosmos ],我对本文的实例代码进行了学习.思考和整理纠正,理清了文章的全部细节,觉得这是一篇让我受益匪浅的文章.之所以会接触「可变参数模板」这部分的内容, ...
- 还在用双层for循环吗?太慢了
前情提要 我们在开发中经常碰到这样的场景,查出两个 list 集合数据,需要根据他们相同的某个属性为连接点,进行聚合.但是平时我们使用的时候关注过性能吗?下面让我们一起来看看它的表现如何. 来个例子 ...
- Java 19 新功能介绍
点赞再看,动力无限. 微信搜「程序猿阿朗 」. 本文 Github.com/niumoo/JavaNotes 和 未读代码博客 已经收录,有很多知识点和系列文章. Java 19 在2022 年 9 ...
- 链接脚本(Linker Scripts)语法和规则解析(自官方手册)
为了便于与英文原文对照学习与理解(部分翻译可能不准确),本文中的每个子章节标题和引用使用的都是官方手册英文原称.命令及命令行选项统一使用斜体书写.高频小节会用蓝色字体标出. 3 Linker Scri ...
- AFL源码分析(一)
AFL源码分析(一) 文章首发于:ChaMd5公众号 https://mp.weixin.qq.com/s/E-D_M25xv5gIpRa6k8xOvw a.alf-gcc.c 1.find_as 这 ...
- 修改msi文件
前言 msi文件是一个安装包文件,可以看做一个数据库,其中包含很多资源,例如图片,配置文件,可执行文件exe等等. 我想要把修改过 exe可执行文件提交到msi文件中,那么就需要知道msi文件的构成, ...