2017年百度之星编程赛初赛A场-1005-今夕何夕
2017-08-12 22:17
375 查看
今夕何夕
Accepts: 1345
Submissions: 5533
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 32768/32768 K (Java/Others)
Problem Description
今天是2017年8月6日,农历闰六月十五。
小度独自凭栏,望着一轮圆月,发出了“今夕何夕,见此良人”的寂寞感慨。
为了排遣郁结,它决定思考一个数学问题:接下来最近的哪一年里的同一个日子,和今天的星期数一样?比如今天是8月6日,星期日。下一个也是星期日的8月6日发生在2023年。
小贴士:在公历中,能被4整除但不能被100整除,或能被400整除的年份即为闰年。
Input
第一行为T,表示输入数据组数。
每组数据包含一个日期,格式为YYYY-MM-DD。
1 ≤ T ≤ 10000
YYYY ≥ 2017
日期一定是个合法的日期
Output
对每组数据输出答案年份,题目保证答案不会超过四位数。
Sample Input
3 2017-08-06 2017-08-07 2018-01-01
Sample Output
2023 2023 2024
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Scanner; public class a { public static void main(String[] args) throws ParseException { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd"); Calendar cal = Calendar.getInstance(); int T; String gettime; T = in.nextInt(); for (int i = 0; i < T; i++) { gettime = in.next(); dateFormatter = new SimpleDateFormat("yyyy-MM-dd"); Date time = dateFormatter.parse(gettime); cal.setTime(time); dateFormatter.applyPattern("E"); String today = "" + dateFormatter.format(cal.getTime()); int todayyear = cal.get(Calendar.YEAR); int todaymonth = cal.get(Calendar.MONTH)+1; int todayday = cal.get(Calendar.DAY_OF_MONTH); System.out.println(""+todayyear+todaymonth+todayday); if ((todaymonth==2&&todayday>=29)&&(todayyear % 4 == 0 && todayyear % 100 != 0) || todayyear % 400 == 0) { String nextday; while (true) { cal.add(Calendar.YEAR, +4); nextday = "" + dateFormatter.format(cal.getTime()); if (nextday.equals(today)) { int year = cal.get(Calendar.YEAR); System.out.println(year); break; } } } else { String nextday; while (true) { cal.add(Calendar.YEAR, +1); nextday = "" + dateFormatter.format(cal.getTime()); if (nextday.equals(today)) { int year = cal.get(Calendar.YEAR); System.out.println(year); break; } } } } } }
相关文章推荐
- 【 2017"百度之星"程序设计大赛 - 初赛(A)1005 今夕何夕】
- 百度之星 2017初赛第一场 1005 今夕何夕
- 2017百度之星初赛(A) 1005 今夕何夕(阅读题)
- 百度之星2017初赛A-1005-今夕何夕
- 2017"百度之星"程序设计大赛 - 初赛(A)-1001.小C的倍数问题(HDU6108) 1005.今夕何夕-蔡勒公式 (HDU6112)
- 2017年百度之星编程赛初赛B场-1001-Chess
- hdu6102 2017"百度之星"初赛(A)1005今夕何夕(模拟)
- 2017百度之星初赛:A-1005. 今夕何夕
- 2017"百度之星"程序设计大赛 - 初赛(A)今夕何夕
- HDU 6122 今夕何夕 【数学公式】 (2017"百度之星"程序设计大赛 - 初赛(A))
- 百度之星初赛A 今夕何夕
- 2015百度之星初赛2 1005 序列变换(LIS变形)
- 2017百度之星初赛(A)1001,1005,1006解题报告
- 2015百度之星初赛2 1005 序列变换(LIS变形)
- 2017百度之星初赛:B-1005. 度度熊的交易计划(最小费用流)
- HDU-2017"百度之星"程序设计大赛-初赛(B)-1005-度度熊的交易计划
- 【2017"百度之星"程序设计大赛 - 初赛(A)】今夕何夕
- 2017"百度之星"程序设计大赛 - 初赛-今夕何夕
- 百度之星初赛第二场1005
- 2017"百度之星"程序设计大赛 - 初赛(A)1005【打表】——HDU 6112