1. 程式人生 > >藍橋杯java第八屆第七題--日期問題

藍橋杯java第八屆第七題--日期問題

標題:日期問題

小明正在整理一批歷史文獻。這些歷史文獻中出現了很多日期。小明知道這些日期都在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  

資源約定:
峰值記憶體消耗(含虛擬機器) < 256M
CPU消耗  < 1000ms


請嚴格按要求輸出,不要畫蛇添足地列印類似:“請您輸入...” 的多餘內容。

沒什麼好說的。。

    package com.sihai.test;
    import java.util.ArrayList;  
    import java.util.Collections;  
    import java.util.HashSet;  
    import java.util.Scanner;  

    public class test {  

        static String a1,b1,c1;  
        static HashSet<Integer> res = new HashSet<Integer>();  
static ArrayList<Integer> list = new ArrayList<Integer>(); static void getDate(String a1,String b1,String c1){ int a; if(Integer.parseInt(a1)>=0 && Integer.parseInt(a1)<=59) a = Integer.parseInt(("20"+a1)); else a = Integer.parseInt
(("19"+a1)); int b = Integer.parseInt(b1); int c = Integer.parseInt(c1); if(((a%4==0 && a%100!=0) ||a%400==0) && b==2 && c>0 && c<=29) res.add(Integer.parseInt(""+a+b1+c1)); if(a%4!=0 && b==2 && c>0 && c<=28) res.add(Integer.parseInt(""+a+b1+c1)); if((b==1 || b==3 || b==5 || b==7 || b==8 || b==10 || b==12) && c>0 && c<=31) res.add(Integer.parseInt(""+a+b1+c1)); if((b==4 || b==6 || b==9 || b==11) && c>0 && c<=30) res.add(Integer.parseInt(""+a+b1+c1)); } public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.nextLine(); String[] ss = s.split("/"); a1 = ss[0]; b1 = ss[1]; c1 = ss[2]; getDate(a1, b1, c1); getDate(b1, c1, a1); getDate(c1, b1, a1); list.addAll(res); Collections.sort(list); for(int i:res){ System.out.println((""+i).substring(0, 4)+"-"+(""+i).substring(4, 6)+"-"+(""+i).substring(6,8)); } } }

相關推薦

藍橋java--日期問題

標題:日期問題 小明正在整理一批歷史文獻。這些歷史文獻中出現了很多日期。小明知道這些日期都在1960年1月1日至2059年12月31日。令小明頭疼的是,這些日期採用的格式非常不統一,有采用年/月/日的

2017藍橋Java B組省賽第一:購物單

第一題 標題: 購物單 小明剛剛找到工作,老闆人很好,只是老闆夫人很愛購物。老闆忙的時候經常讓小明幫忙到商場代為購物。小明很厭煩,但又不好推辭。 這不,XX大促銷又來了!老闆夫人開出了長長的購物單,都是有打折優惠的。 小明也有個怪癖,不到萬不得已,從不刷卡,直接現金搞定

九屆藍橋 Java語言B組 螺旋折線

題目:螺旋折線 如圖p1.pgn所示的螺旋折線經過平面上所有整點恰好一次。 對於整點(X, Y),我們定義它到原點的距離dis(X, Y)是從原點到(X, Y)的螺旋折線段的長度。 例如dis(0, 1)=3, dis(-2, -1)=9 給出整點座標(X, Y),你能計算出d

16藍橋--JAVA語言C組-10-密碼脫落

X星球的考古學家發現了一批古代留下來的密碼。 這些密碼是由A、B、C、D 四種植物的種子串成的序列。 仔細分析發現,這些密碼串當初應該是前後對稱的(也就是我們說的映象串)。 由於年代久遠,其中

藍橋國賽Java b組 填字母遊戲

小明經常玩 LOL 遊戲上癮,一次他想挑戰K大師,不料K大師說: “我們先來玩個空格填字母的遊戲,要是你不能贏我,就再別玩LOL了”。 K大師在紙上畫了一行n個格子,要小明和他交替往其中填入字母。 並且: 1. 輪到某人填的時候,只能在某個空格中填入L或O 2. 誰先讓字母組成了“LOL”的字樣,誰

藍橋 Java 煤球數目問題

煤球數目 有一堆煤球,堆成三角稜錐形。具體: 第一層放1個, 第二層3個(排列成三角形), 第三層6個(排列成三角形), 第四層10個(排列成三角形), … 如果一共有100層,共有多少個煤球? 請填表示煤球總數目的數字。 注意:你提交的應該是一個整數,不要填寫

Java】【藍橋】【試題】【無答案】

1、 標題: 購物單     小明剛剛找到工作,老闆人很好,只是老闆夫人很愛購物。老闆忙的時候經常讓小明幫忙到商場代為購物。小明很厭煩,但又不好推辭。     這不,XX大促銷又來了!老闆夫人開出了長長的購物單,都是有打折優惠的。     小明也有個怪癖,不到萬不得已,從不

2017藍橋Java省賽

第一題:購物單 小明剛剛找到工作,老闆人很好,只是老闆夫人很愛購物。老闆忙的時候經常讓小明幫忙到商場代為購物。小明很厭煩,但又不好推辭。 這不,XX大促銷又來了!老闆夫人開出了長長的購物單,都是有打折優惠的。  小明也有個怪癖,不到萬不得已,從不刷卡,直

2017藍橋省賽Java A組--迷宮

標題:迷宮X星球的一處迷宮遊樂場建在某個小山坡上。它是由10x10相互連通的小房間組成的。房間的地板上寫著一個很大的字母。我們假設玩家是面朝上坡的方向站立,則:L表示走到左邊的房間,R表示走到右邊的房間,U表示走到上坡方向的房間,D表示走到下坡方向的房間。X星球的居民有點懶,

2017藍橋Java省賽有感

  相對於ACM程式設計大賽的難度,藍橋杯就算容易一些了,第八屆的難度比前兩屆也提高了不少,建議在HDOJ上多加練習,這樣就能輕鬆些。   從準備上講藍橋杯有很多題都有固定的套路,大量練習是必不可少的,校內選拔之後,就開始不斷的刷題總結的無限迴圈中。   臨

藍橋JAVA B組省賽-四平方和試題

四平方和 四平方和定理,又稱為拉格朗日定理: 每個正整數都可以表示為至多4個正整數的平方和。 如果把0包括進去,就正好可以表示為4個數的平方和。 比如: 5 = 0^2 + 0^2 + 1^2 + 2^2 7 = 1^2 + 1^2 + 1^2 +

2017藍橋省賽Java A組--9數算式

標題:9數算式觀察如下的算式:9213 x 85674 = 789314562左邊的乘數和被乘數正好用到了1~9的所有數字,每個1次。而乘積恰好也是用到了1~9的所有數字,並且每個1次。請你藉助計算機的強大計算能力,找出滿足如上要求的9數算式一共有多少個?注意:1. 總數目包

藍橋-藍橋java B組決賽

一、憤怒小鳥 X星球憤怒的小鳥喜歡撞火車!  一根平直的鐵軌上兩火車間相距 1000 米 兩火車 (不妨稱A和B) 以時速 10米/秒 相對行駛。 憤怒的小鳥從A車出發,時速50米/秒,撞向B車, 然後返回去撞A車,再返回去撞B車,如此往復.... 兩火車在相距1米處停車。

藍橋Java語言B組真(省賽)

今天參加藍橋JAVA語言B組的競賽剛剛結束,把真題和大家分享一下。 1.煤球數目  (結果填空) 有一堆煤球,堆成三角稜錐形。具體: 第一層放1個, 第二層3個(排列成三角形), 第三層6個(排列成三角形), 第四層10個(排列成三角形), .... 如果一共有100

藍橋JAVA B組【省賽】

一.標題: 購物單小明剛剛找到工作,老闆人很好,只是老闆夫人很愛購物。老闆忙的時候經常讓小明幫忙到商場代為購物。小明很厭煩,但又不好推辭。這不,XX大促銷又來了!老闆夫人開出了長長的購物單,都是有打折優惠的。小明也有個怪癖,不到萬不得已,從不刷卡,直接現金搞定。現在小明很心煩

2017藍橋省賽Java A組--方格分割

標題:方格分割6x6的方格,沿著格子的邊線剪開成兩部分。要求這兩部分的形狀完全相同。如圖:p1.png, p2.png, p3.png 就是可行的分割法。試計算:包括這3種分法在內,一共有多少種不同的分割方法。注意:旋轉對稱的屬於同一種分割法。請提交該整數,不要填寫任何多餘的

藍橋Java C組決賽試題

1.平方末尾能夠表示為某個整數的平方的數字稱為“平方數”比如,25,64雖然無法立即說出某個數是平方數,但經常可以斷定某個數不是平方數。因為平方數的末位只可能是:[0, 1, 4, 5, 6, 9] 這6個數字中的某個。所以,4325435332必然不是平方數。如果給你一個2

藍橋 java B組 日期問題

標題:日期問題 小明正在整理一批歷史文獻。這些歷史文獻中出現了很多日期。小明知道這些日期都在1960年1月1日至2059年12月31日。令小明頭疼的是,這些日期採用的格式非常不統一,有采用年/月/日的,有采用月/日/年的, 還有采用日/月/年的。更加麻煩的是,年份也都

藍橋Java/A組

題目:廣場舞 LQ市的市民廣場是一個多邊形,廣場上鋪滿了大理石的地板磚。 地板磚鋪得方方正正,就像座標軸紙一樣。 以某四塊磚相接的點為原點,地板磚的兩條邊為兩個正方向,一塊磚的邊長為橫縱座標的單位長度,則所有橫縱座標都為整數的點都是四塊磚的交點(如果在廣場內)。 廣場的

藍橋Java A組決賽試題

1.標題:圖書排列將編號為1~10的10本書排放在書架上,要求編號相鄰的書不能放在相鄰的位置。請計算一共有多少種不同的排列方案。注意,需要提交的是一個整數,不要填寫任何多餘的內容。答案:479306思路:全排或者DFSimport java.util.*; public cl