藍橋杯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