Files
java-competitive/archive/2016.08/2016.08.17 - unsorted/Slerk.java
2019-03-15 13:47:54 +04:00

70 lines
1.6 KiB
Java

package chelper;
import io.InputReader;
import io.OutputWriter;
public class Slerk {
public void solve(int testNumber, InputReader in, OutputWriter out) {
// int n = in.nextInt();
for (int n = 1; n <= 1000; n++) {
f(n, out);
}
}
void f(int n, OutputWriter out) {
int[] yearMonthDay = {1, 1, 1};
if (n > 220) {
n -= 220;
yearMonthDay[0] += 12;
yearMonthDay[0] += (n / 66);
n %= 66;
if (n == 0) {
yearMonthDay[0] -= 1;
yearMonthDay[1] = 12;
yearMonthDay[2] = 11;
out.println(yearMonthDay[0] + "/" + yearMonthDay[1] + "/" + yearMonthDay[2]);
return;
}
int cur = 0;
for (int i = 1; i < 12; i++) {
cur += i;
if (n <= cur) {
yearMonthDay[1] = i + 1;
cur -= i;
break;
}
}
n -= cur;
yearMonthDay[2] = n;
out.println(yearMonthDay[0] + "/" + yearMonthDay[1] + "/" + yearMonthDay[2]);
} else {
int[] c = {1, 3, 6, 10, 15, 21, 28, 36, 45, 55};
yearMonthDay[0] = 3;
int cur = 0;
for (int i = 0; i < 11; i++) {
cur += c[i];
if (n > cur) {
yearMonthDay[0]++;
} else {
cur -= c[i];
break;
}
}
n -= cur;
cur = 0;
for (int i = 1; i < 12; i++) {
cur += i;
if (n <= cur) {
yearMonthDay[1] = i + 1;
cur -= i;
break;
}
}
n -= cur;
yearMonthDay[2] = n;
out.println(yearMonthDay[0] + "/" + yearMonthDay[1] + "/" + yearMonthDay[2]);
}
}
}