GAME3112 - Ngày 31 tháng 12
Tác giả: RR
Ngôn ngữ: C++
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <iomanip>
#include <bitset>
#include <complex>
#define FOR(i,a,b) for(int i = a; i <= b; ++i)
#define FORD(i,a,b) for(int i = a; i >= b; --i)
#define REP(i,a) for(int i = 0; i < a; ++i)
#define MP make_pair
#define PB push_back
using namespace std;
int f[111][111], trd[111][111], trm[111][111];
const int ndate[] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int get(int date, int month) {
if (f[date][month] >= 0) return f[date][month];
if (date == 31 && month == 12) return f[date][month] = 1;
FOR(m,1,12) FOR(d,1,31)
if (d <= ndate[m-1])
if (m == month || d == date)
if (m > month || (m == month && d > date)) {
if (get(d, m) == 0) {
trd[date][month] = d;
trm[date][month] = m;
return f[date][month] = 1;
}
}
return f[date][month] = 0;
}
int main() {
int d, m;
cin >> d >> m;
memset(f, -1, sizeof f);
if (get(d, m)) {
cout << trd[d][m] << ' ' << trm[d][m] << endl;
}
else puts("LOSS");
return 0;
}