GAME3112 - Ngày 31 tháng 12
Tác giả: happyboy99x
Ngôn ngữ: C++
#include<cstdio>
const int day[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int f[13][32], t[13][32][2];
void dp() {
f[12][31] = 1;
for(int m = 12; m >= 1; --m)
for(int d = day[m]; d >= 1; --d) if(f[m][d] == 0) {
for(int nd = d+1; nd <= day[m] && f[m][d] == 0; ++nd) if(f[m][nd] == 0)
f[m][d] = 1, t[m][d][0] = m, t[m][d][1] = nd;
for(int nm = m+1; nm <= 12 && f[m][d] == 0; ++nm) if(d <= day[nm] && f[nm][d] == 0)
f[m][d] = 1, t[m][d][0] = nm, t[m][d][1] = d;
}
}
int main() {
int m, d; scanf("%d%d",&d,&m); dp();
if(f[m][d] == 0) puts("LOSS");
else printf("%d %d\n", t[m][d][1], t[m][d][0]);
return 0;
}