openjudge------ 日期的种类题目
描述
TXT is a vegetable chicken,so 出题什么的完全不会啊!
干脆直接从网络上copy一题下来吧。
小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在1960年1月1日至2059年12月31日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。
比如02/03/04,可能是2002年03月04日、2004年02月03日或2004年03月02日。
给出一个文献上的日期,你能帮助小明判断有哪些可能的日期对其对应吗?
输入
一个日期,格式是"AA/BB/CC"。 (0 <= A, B, C <= 9)
输出
输出若干个不相同的日期,每个日期一行,格式是"yyyy-MM-dd"。多个日期按从早到晚排列。
样例输入
02/03/04
样例输出
2002-03-04
2004-02-03
2004-03-02
思路:
因为日期只有三类,所以只需要分成三类讨论,然后对每一种结果判断是否符合,并且排序后输出就可以了。
#include<stdio.h>
#include<string.h>
int one[]={,,,,,,};
int two[]={,,,};
int get(char ch[],int aa,int bb){
return (ch[aa]-'')*+ch[bb]-'';
}
int run(int n){
if((n% == &&n% != )||(n% == )){
return ;
}
return ;
}
int in(int n,int a[],int len){
int i;
for(i=;i<len;i++){
if(a[i]==n){
return ;
}
}
return ;
}
int can(int a,int b,int c){ //检查以a,b,c为年月日合法不
int temp;
if(a>=){
temp = +a;
}else{
temp = +a;
}
if(b>=&&b<=){
if(c>=&&c<=){
if((c==&&!(run(temp)&&b==))||(c==&&!(!run(temp)&&b==))){
return ;
}
else if(c==&&!in(b,one,)){
return ;
}
else if(c==&&!in(b,two,)){
return ;
}else{
return ;
}
}else{
return ;
}
}else{
return ;
}
}
void change(int &a,int &b,int &c){
int max = a>b?a:b;
int min = a>b?b:a;
max = max>c?max:c;
min = min>c?c:min;
b = a+b+c-max-min;
a = min;
c = max;
}
int main(){
char str[];
gets(str);
int a,b,c,t1=,t2=,t3=;
a = get(str,,);
b = get(str,,);
c = get(str,,);
if(can(a,b,c)){
if(a>=)
t1 = +a*+b*+c;
else
t1 = +a*+b*+c;
}
if(can(c,a,b)){
if(c>=)
t2 = +c*+a*+b;
else
t2 = +c*+a*+b;
}
if(can(c,b,a)){
if(c>=)
t3 = +c*+b*+a;
else
t3 = +c*+b*+a;
}
if(a==b){
t3 = ;
}
if(a==b&&b==c){
t2 = ;
}
change(t1,t2,t3);
if(t1)
printf("%0.2d-%0.2d-%0.2d\n",t1/,t1%/,t1%);
if(t2)
printf("%0.2d-%0.2d-%0.2d\n",t2/,t2%/,t2%);
if(t3)
printf("%0.2d-%0.2d-%0.2d\n",t3/,t3%/,t3%);
return ;
}
openjudge------ 日期的种类题目的更多相关文章
- Java日期的格式String类型GMT,GST换算成日期Date种类
请尊重他人的劳动成果.转载请注明出处:Java日期格式化之将String类型的GMT,GST日期转换成Date类型 http://blog.csdn.net/fengyuzhengfan/articl ...
- 二分 题目 压缩打包 Special Judge? 不不不 当然不是
http://noi.openjudge.cn/ch0111/ No 题目 分数 01 查找最接近的元素 10 3176 02 二分法求函数的零点 10 2181 03 矩形分割 10 1420 04 ...
- OpenJudge计算概论-比饭量【枚举法、信息数字化】
/*====================================================================== 比饭量 总时间限制: 1000ms 内存限制: 655 ...
- DB2中字符、数字和日期类型之间的转换
DB2中字符.数字和日期类型之间的转换 一般我们在使用DB2或Oracle的过程中,经常会在数字<->字符<->日期三种类 型之间做转换,那么在DB2和Oracle中,他们分别 ...
- OpenJudge / Poj 1003 Hangover
链接地址: Poj:http://poj.org/problem?id=1003 OpenJudge:http://bailian.openjudge.cn/practice/1003 题目: Han ...
- OpenJudge 2737 大整数除法
链接地址:http://bailian.openjudge.cn/practice/2737/ 题目: 总时间限制: 1000ms 内存限制: 65536kB 描述 求2个大的正整数相除的商 输入 第 ...
- OpenJudge 2980 大整数乘法
链接地址:http://bailian.openjudge.cn/practice/2980/ 题目: 总时间限制: 1000ms 内存限制: 65536kB 描述 求两个不超过200位的非负整数的积 ...
- OpenJudge / Poj 1044 Date bugs C++
链接地址: Poj:http://poj.org/problem?id=1044 OpenJudge:http://bailian.openjudge.cn/practice/1044/ 题目: 总时 ...
- OpenJudge 2680 化验诊断 C++
链接地址:http://bailian.openjudge.cn/practice/2680 题目: 总时间限制: 1000ms 内存限制: 65536kB 描述 下表是进行血常规检验的正常值参考范围 ...
随机推荐
- Git .gitignore文件说明
参见:https://book.git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%AE%B0%E5%BD%95%E6%AF%8F%E6%AC%A1%E ...
- Android Studio 合并分支代码到主干的操作总结
一.背景 使用SVN进行版本管理时,一般的,我们的所有的开发都是基于trunk进行开发,当一个版本开发告一段落,经验证测试发布上线后,代码处于冻结状态,基于当前冻结的代码库,打一个tag进行管理,与发 ...
- 吴恩达机器学习笔记46-K-均值算法(K-Means Algorithm)
K-均值是最普及的聚类算法,算法接受一个未标记的数据集,然后将数据聚类成不同的组. K-均值是一个迭代算法,假设我们想要将数据聚类成n 个组,其方法为: 首先选择
- MySQL:数据库表的空间回收
1. 表数据的存储方式 表数据既可以存储在共享表空间,也可以时单独的文件.这个行为由参数 innodb_file_per_table 控制: 设置为 OFF 时,表示表数据存储在共享表空间: 设置为 ...
- node的安装及基本使用!
一.node的基本安装和使用 1.什么是node.js 答:node.js是JavaScript运行环境.实际上它是Google V8引擎进行了封装.V8引擎执行JavaScript的速度非常的 快 ...
- 小程序解析html之富文本插件wxParse
近期,开发小程序时,遇到后台给我返回了一串html代码,需要我这边来解析,头疼了好久,网上找资料找了变天,终于找到wxParse,然而看到的都是针对于页面中有单个html或者固定数据的,我现在的问题是 ...
- nRF52832 SDK15.3.0 基于ble_app_uart demo FreeRTOS移植
参考资料:https://blog.csdn.net/u010860832/article/details/86235993 这里把移植经验记录下来,供有需要的同学参考,有不对的地方也请大家批评指正. ...
- 课程五(Sequence Models),第三周(Sequence models & Attention mechanism) —— 0.Practice questions:Sequence models & Attention mechanism
- 小程序开发--template模板
小程序的template模板可以说是我遇到的最简单的了,看看实例: <template name="article"> <view class='containe ...
- java--uploadify3.1多文件上传
使用uploadify时,建议下载uploadify3.1文档.边做边看. 这是页面端: <label style="color:#15428B;font-weight:bold;&q ...