描述
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------ 日期的种类题目的更多相关文章

  1. Java日期的格式String类型GMT,GST换算成日期Date种类

    请尊重他人的劳动成果.转载请注明出处:Java日期格式化之将String类型的GMT,GST日期转换成Date类型 http://blog.csdn.net/fengyuzhengfan/articl ...

  2. 二分 题目 压缩打包 Special Judge? 不不不 当然不是

    http://noi.openjudge.cn/ch0111/ No 题目 分数 01 查找最接近的元素 10 3176 02 二分法求函数的零点 10 2181 03 矩形分割 10 1420 04 ...

  3. OpenJudge计算概论-比饭量【枚举法、信息数字化】

    /*====================================================================== 比饭量 总时间限制: 1000ms 内存限制: 655 ...

  4. DB2中字符、数字和日期类型之间的转换

    DB2中字符.数字和日期类型之间的转换 一般我们在使用DB2或Oracle的过程中,经常会在数字<->字符<->日期三种类 型之间做转换,那么在DB2和Oracle中,他们分别 ...

  5. OpenJudge / Poj 1003 Hangover

    链接地址: Poj:http://poj.org/problem?id=1003 OpenJudge:http://bailian.openjudge.cn/practice/1003 题目: Han ...

  6. OpenJudge 2737 大整数除法

    链接地址:http://bailian.openjudge.cn/practice/2737/ 题目: 总时间限制: 1000ms 内存限制: 65536kB 描述 求2个大的正整数相除的商 输入 第 ...

  7. OpenJudge 2980 大整数乘法

    链接地址:http://bailian.openjudge.cn/practice/2980/ 题目: 总时间限制: 1000ms 内存限制: 65536kB 描述 求两个不超过200位的非负整数的积 ...

  8. OpenJudge / Poj 1044 Date bugs C++

    链接地址: Poj:http://poj.org/problem?id=1044 OpenJudge:http://bailian.openjudge.cn/practice/1044/ 题目: 总时 ...

  9. OpenJudge 2680 化验诊断 C++

    链接地址:http://bailian.openjudge.cn/practice/2680 题目: 总时间限制: 1000ms 内存限制: 65536kB 描述 下表是进行血常规检验的正常值参考范围 ...

随机推荐

  1. why microsoft named their cloud service Azure?

    best guess I can personally make is that because Azure literally means “bright blue color of the clo ...

  2. java与eclipse的工作小结

    1.Eclipse 的启动画面 A.加启动参数.如: eclipse.exe -showsplash C:/splash.bmp 更多可参考:http://www.cnblogs.com/sharew ...

  3. MySQL9:索引实战

    索引 无论是面试,还是实际工作中,对于一个Java程序员来说,数据库优化是避不开的一个技术点,关于数据库的优化,在性能达不到要求的情况下,我大致给出以下几个方向: (1)优化表结构,对常用字段和非常用 ...

  4. Nerd的套现ATM机

    Nerd是一群似乎只在学生阶段才出尽风头的人.不善言辞,闷头学习,每遇考试便战功赫赫风光无限,赢得天下名.这样的描述,对那些成绩一般.喜欢天马行空.甚至有些多动症倾向的人来讲,无异于是噩梦.幸好有社会 ...

  5. FloatingWindow 悬浮窗开源项目总结

    在Android开发中,我们不免会遇到悬浮窗展示的需求,以下是本人之前star的悬浮窗的开源项目,供大家参考: 一.FloatingWindowDemo 开源项目地址:https://github.c ...

  6. 使用CSS样式的三种方式

    外部样式表 当样式需要被应用到很多页面的时候,外部样式表将是理想的选择.使用外部样式表,你就可以通过更改一个文件来改变整个站点的外观. 内部样式表 当单个文件需要特别样式时,就可以使用内部样式表.你可 ...

  7. LabVIEW(六):创建VI

    1.多使用快捷键,可以提高工作效率键盘快捷键 说明对象/动作Shift-单击 选取多个对象:将对象添加到当前选择之中.方向箭头键 将选中的对象每次移动一个像素.Shift-方向箭头键 将选中的对象每次 ...

  8. 六、activiti工作流-流程定义查询

    本节主要讲流程定义查询.查询某个流程设计图片并保存到本地中.查询最新版本的流程定义集合.删除所有key相同的定义 先创建一个java类 package com.java.procdef; import ...

  9. deepin安装docker

    deepin在debian的基础上进行了一些修改,因此导致按照debian的安装指引是很难安装上docker的. 最近想学习docker,故尝试了安装docker(个人使用:deepin15.7桌面版 ...

  10. [MongoDB]Mongo基本使用

    [MongoDB]Mongo基本使用:   汇总: 1. [MongoDB]安装MongoDB2. [MongoDB]Mongo基本使用:3. [MongoDB]MongoDB的优缺点及与关系型数据库 ...