第一题: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; public class Problem1 { private static void solution(long week, long hour, long minute, long delta) { long day = delta / (60 * 24); long rest = delta % (60 * 24); long minuteNow = hour * 60 + minute; if (rest > minuteNow) { day ++; minuteNow += 24 * 60; } week -= (day % 7); if (week <= 0) { week += 7; } minuteNow -= rest; System.out.println(week); long newMin = minuteNow / 60; String minOut = "" + newMin, secondOut = "" + (minuteNow % 60); if (newMin < 10) { minOut = ("0" + newMin); } if ((minuteNow % 60) < 10) { secondOut = ("0" + (minuteNow % 60)); } System.out.println(minOut + ":" + secondOut); } public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String[] lines = new String[3]; for (int i = 0; i < 3; ++ i) { lines[i] = reader.readLine(); } int week = Integer.parseInt(lines[0].trim()); String time = lines[1].trim(); String[] strs = time.split(":"); long hour = Long.parseLong(strs[0].trim()); long minute = Long.parseLong(strs[1].trim()); long delta = Long.parseLong(lines[2]); solution(week, hour, minute, delta); } }