본문 바로가기
Write-up

[HUST] 7. 수학 암호

by dladbru 2012. 12. 3.

 

이번에 팀끼리 HUST에 출전을 하였습니다.

xeros ruby UNLIMIT dladbru(empier) 나갔구요.

Team: Leaveret

으로 나갔습니다.

1~8 번문제를 인증하면서 Score:2000 으로 끝났습니다.

결과는 12등이구요.. (보기좋게 공동 7등으로하죠 는 ㅈㅅ)

 

 

그중 7번인 이 수학 암호는  대회 종료 40분전에 감을잡은후 코딩을 하였는데 배열마지막에 쓰레기값이 들어가서 인증실패하다가.. 뒤에 한자리지워줘서 대회 끝나기 1분전에 인증성공했습니다 ㅋㅋㅋ;;;

팀원 모두 잠잘거 다자고 코드엔진 컨퍼런스가고 놀고했는데도 이정도면 만족합니다~

 

일단 이문제부터 포스팅해드리겠습니다.

f(x)=ax^3+bx+c  

라고 식이 주어졌습니다.

 f(string)=wyGYcoWgOEaCeA

HINT: f('a')=9

우리가 아는 전부입니다.

일단 무엇을 입력해야 wyGYcoWgOEaCeA 가 나왔는지 알아보기위해

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 를 넣어봤습니다.

결과값으로는

ivULaTwPevUHOvIHyngjCrIHubIvuLATWPEvuHoviHYnGjcriHUb

순서로 나왔습니다. 위두개의 글자수는 같습니다만 대문자소문자가섞이다보니 더적어보이네요;;;ㅋ

 

결과값은 gqSQUMGsmIeuiE 였습니다.

gqSQUMGsmIeuiE 를 넣으면

wyGYcoWgOEaCeA  가 나옵니다.

 

string=gqSQUMGsmIeuiE

이었던겁니다.

문제는 여기부터였습니다..

 

f'(string)을 구하라는겁니다..

네네.. 맨위에 나왔던 f(x)=ax^3+bx+c  를 미분해야한다는것을 알았습니다.

그리고 a,b,c 값 부터 알아내야겠지요.

일단 a를넣으면 9라는데요. 넣어보면 i가나왔습니다.

"아하? 왜 i가9가나왔을까?" 생각을하다가 abcdefgh(i)      i가 9번째에 있다는것을 떠올렸습니다.   "그럼 테이블에 abcdefghijklmnopqrstuvwxyz 가있겠구나?" 를 떠올렸구요. 그 뒤에는 ABCDEFGHIJKLMNOPQRSTUVWXYZ 가있을거라는것도 추측했습니다.

그럼 정작 a는 1일테니 a를 넣은식은

a+b+c=9(i)    라고생각했습니다.

또한 b를 넣은식은

8a+2b+c=22(v) 일테구요.

 

그래서 수학공식을 써서..

8a+2b+c=22        

a +  b+c=9  -

-------------

7a+b=   13

 

이라는 값을 얻었구요      a는1  b는6 이라고 생각해보고

 

저문제에주어진식을 x^3+6x+c 로 변경후     1(a)를 넣어봤습니다.

 

1+6+c=9 이기에 c는 2라고 결정내렸구요.

최종얻은 식은

x^3+6x+2 였습니다.

 

저수학식을 미분한결과 f'(string)=3x^2+6

라는 식을 얻어내었고   아까구한

"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

테이블과 코딩을 하였습니다.

 

 

결과값으로

Key : WOWOCSWWSOCCOC

 

가 나오면서 인증에 성공하였습니다.

 

 

문제가 수학관련이다보니 설명이 길어지고 잡다해지고 질이나빠졌네요..

죄송합니다 ㅜㅜ..

 

 

 

 

Ps.허스트형누나분들.. 12등인데 특별상이라도줘요..

 

 

 

반응형

댓글