MISC 100점짜리 문제. 지금 보니까 코드가 1차원짜리 깊이고... 너무 단순한데... 시간이 급박하게 걸려있는 CTF다 보니까 그런 것 같다. 지금 풀면 약간 백준 푸는 느낌으로 더 잘 풀 수 있을 것 같다.
r = remote("neoannophobia.chal.imaginaryctf.org", 1337)
r.recvuntil('ROUND 1')
m_ = ["January","February","March","April","May","June","July","August","September","October","November","December"]
d_ = ["20","21","22","23","24","25","26","27","28","29","30","31"]
for _ in range(100):
while True:
last = r.recvline().decode('utf-8').rstrip()
print(last)
d = last.split(" ")
mon = d[0]
day = d[1]
if int(mon) ==1 and int(day) == 20: out = "^c"
if int(mon)==1:
if int(day) < 20: out = "January 20"
if int(day) == 21: out = "February 21"
if int(day) == 22: out = "March 22"
if int(day) == 23: out = "April 23"
if int(day) == 24: out = "May 24"
if int(day) == 25: out = "June 25"
if int(day) == 26: out = "July 26"
if int(day) == 27: out = "August 27"
if int(day) == 28: out = "September 28"
if int(day) == 29: out = "October 29"
if int(day) == 30: out = "November 30"
if int(day) == 31: out = "December 31"
if int(mon)==2:
if int(day) < 21: out = "Febuary 21"
if int(day) == 22: out = "March 22"
if int(day) == 23: out = "April 23"
if int(day) == 24: out = "May 24"
if int(day) == 25: out = "June 25"
if int(day) == 26: out = "July 26"
if int(day) == 27: out = "August 27"
if int(day) == 28: out = "September 28"
if int(day) == 29: out = "October 29"
if int(day) == 30: out = "November 30"
if int(day) == 31: out = "December 31"
if int(mon)==3:
if int(day) < 22: out = "March 22"
if int(day) == 23: out = "April 23"
if int(day) == 24: out = "May 24"
if int(day) == 25: out = "June 25"
if int(day) == 26: out = "July 26"
if int(day) == 27: out = "August 27"
if int(day) == 28: out = "September 28"
if int(day) == 29: out = "October 29"
if int(day) == 30: out = "November 30"
if int(day) == 31: out = "December 31"
if int(mon)==4:
if int(day) < 23: out = "April 23"
if int(day) == 24: out = "May 24"
if int(day) == 25: out = "June 25"
if int(day) == 26: out = "July 26"
if int(day) == 27: out = "August 27"
if int(day) == 28: out = "September 28"
if int(day) == 29: out = "October 29"
if int(day) == 30: out = "November 30"
if int(day) == 31: out = "December 31"
if int(mon)==5:
if int(day) < 24: out = "May 24"
if int(day) == 25: out = "June 25"
if int(day) == 26: out = "July 26"
if int(day) == 27: out = "August 27"
if int(day) == 28: out = "September 28"
if int(day) == 29: out = "October 29"
if int(day) == 30: out = "November 30"
if int(day) == 31: out = "December 31"
if int(mon)==6:
if int(day) < 25: out = "June 25"
if int(day) == 26: out = "July 26"
if int(day) == 27: out = "August 27"
if int(day) == 28: out = "September 28"
if int(day) == 29: out = "October 29"
if int(day) == 30: out = "November 30"
if int(day) == 31: out = "December 31"
if int(mon)==7:
if int(day) < 26: out = "July 26"
if int(day) == 27: out = "August 27"
if int(day) == 28: out = "September 28"
if int(day) == 29: out = "October 29"
if int(day) == 30: out = "November 30"
if int(day) == 31: out = "December 31"
if int(mon)==8:
if int(day) < 27: out = "August 27"
if int(day) == 28: out = "September 28"
if int(day) == 29: out = "October 29"
if int(day) == 30: out = "November 30"
if int(day) == 31: out = "December 31"
if int(mon)==9:
if int(day) < 28: out = "September 28"
if int(day) == 29: out = "October 29"
if int(day) == 30: out = "November 30"
if int(day) == 31: out = "December 31"
if int(mon)==10:
if int(day) < 29: out = "October 29"
if int(day) == 30: out = "November 30"
if int(day) == 31: out = "December 31"
if int(mon)==11:
if int(day) < 30: out = "November 30"
if int(day) == 31: out = "December 31"
if int(mon)==12:
out = "December 31"
r.sendline(out)
close()