GAME3112 - Ngày 31 tháng 12
Tác giả: ladpro98
Ngôn ngữ: Pascal
program GAME3112;
uses math;
const lim: array[0..12] of longint = (0,31,29,31,30,31,30,31,31,30,31,30,31);
lose = 0;
win = 1;
fi = '';
type e=record
d,m:longint;
end;
var n,m,day,month,i:longint;
f:array[0..100,0..100] of longint;
next:array[0..100,0..100] of e;
inp:text;
procedure Prev(var i,j:longint);
begin
if i>1 then dec(i)
else begin
dec(j);
i:=lim[j];
end;
end;
begin
assign(inp,fi);reset(inp);
readln(inp,n,m);
f[31,12]:=win;
day:=30;month:=12;
while month>0 do begin
//writeln(day,' ',month);
f[day,month]:=lose;
for i:=day+1 to lim[month] do
if f[i,month]=lose then begin
f[day,month]:=win;
next[day,month].d:=i;
next[day,month].m:=month;
end;
for i:=month+1 to 12 do
if day<=lim[i] then
if f[day,i]=lose then begin
f[day,month]:=win;
next[day,month].d:=day;
next[day,month].m:=i;
end;
Prev(day,month);
end;
if (f[n,m] = lose) or (m*n=31*12) then write('LOSS')
else write(next[n,m].d,' ',next[n,m].m);
end.