hdu2005,第几天?

来源:互联网 发布:淘宝代购扒皮 编辑:程序博客网 时间:2024/06/09 14:22

第几天?

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 73328    Accepted Submission(s): 27740


Problem Description
给定一个日期,输出这个日期是该年的第几天。
 

Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
 

Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
 

Sample Input
1985/1/202006/3/12
 

Sample Output
2071

import java.util.Scanner;import java.util.regex.Pattern;public class hdu2005 {public static void main(String[] args) {Scanner cin = new Scanner(System.in);int[] y = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };// 01,02,03,04,05,06,07,08,09,10,11,12while (cin.hasNext()) {Pattern pat = Pattern.compile("/");String[] s = pat.split(cin.next());int year = Integer.parseInt(s[0]);int mo = Integer.parseInt(s[1]);int ri = Integer.parseInt(s[2]);// System.out.println(year+"."+mo+"."+ri);if (isrun(year))y[2] = 29;elsey[2] = 28;int ans = 0;for (int i = 1; i <= mo; i++)for (int j = 1; (j <= y[i] && (!(i == mo && j > ri))); j++)ans++;System.out.println(ans);}}static boolean isrun(int y) {if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0))return true;return false;}}




刚刚尝试用正则表达式



0 0
原创粉丝点击