Ancient symbol
Time limit1sMemory limit2 MB
Given an integer x from -1000 to 1000, decode the relic's embedded secret to decide what to print.
- Level
Medium6 of 10
- Topics
- Simulation, Implementation, Math, Brute force
- Solved
- No attempts yet
Problem
/* thisisCsource @V)W>a4SlGOk>Q57%<WT<nJ.HM1nqcaL^qj*8WH7%#H@t*/
/* !@*/float sr(float y){int i=0x5f3759df-((*(int*)&y)>>1);/*G*/
/* s[<e?5JsCn**xlI@T&lLu.MYuM&j*/float x2=y*0.5F; y=*(float*)&i;
/* Dg7yNk]ke*/y=y*(1.5F-(x2*y*y));return y*(1.5F-(x2*y*y));}/**/
/* lrNwrF9D9ZIZ+85*/char p[1<<16],*a=p;/*s{4cf<VGue5tY@]%NqInY*/
/* 014NxH3A<W[l&>v,8U1],>CTxWt>.]2uRs1=^rJfhwx@TkpV&LZ$DJWdDjM*/
/* 6jJD9Nl*/#define v(b) *a++=(b)/*C#(mhR0tYZH&g?LvS}cAhn%u,l#*/
/* <USCytz*/int tt=0,vv=2,ww=5;/*$WL{Y+jW59r%/Tv+}%WM{2CG4g(qFp*/
/* 6<*/int rd(){tt=(tt*2+tt*tt*7+vv*13+vv*vv*17+ww*5+ww*ww*6)%84;
/* */vv=(tt*3+tt*tt*4+vv*2+vv*vv*11+ww*2+ww*ww*10)%1241;/*!}]CA*/
/* )4S9Zc(H7bE*/ww=(tt*4+tt*tt*3+vv*7+vv*vv*13+ww+ww*ww*12)%5883;
/* qu}>A%ZsuCc)fI&9TY13rT<DN5T!Cu%<ofR*/return tt;}/*f=mE+3f74?*/
/* */char *func="2a#05H6bu07G21h42U26n3bU37>e9H41!eb}35i34p3a(3a"
"*" "e6K44ve5N56<ca%9e]c7Xa1hc4>64]c5wb6Mb3gbbkb9x67]04M39Gf7<44Wd"
"cx" "94mde^4ai26#4c!23H3f<edj39k32jf7i44rdc a1<8e&9c%";/*=Br$Vu$@{*/
/*% DpZ0)tge*/char *u="!@#$%^&*()1234567890QWERTYUIOPqwertyuiopASD"
"FG" "HJKLasdfghjklZXCVBNMzxcvbnm,./<>?{}[]+=";/*GEXtB)*jLZg[Mh,$ti*/
/*b2 ]QKpfydv[^$GEUefEdxEj3+%W*/char *def="2ai05i1eS46s1fy47#22v4c&1"
"9u" "07o5f^10u65Q09R5b%c5%a3!c2I6dzbdZ";/*T}!@7$OLlMEV9nHnXBYa$B=<*/
/*QTZ #<Y9dt.Fqufxl6*/pr(char *t,int *k){unsigned int w=0,c;/*w4+IbSy*/
/*f4g, OEJ1y*/while (*t){sscanf(t,"%x",&c);c=(c+w)%256;/*y4@VZ{]y{iVj<,*/
/*h.d@ 3xv5w=KYnJ4+Rh/s7n.}*/w=(c-w+256)%0x100;v(c);t+=3;(*k)++;}(*k)--;}
/*4)=() >l$3Tfq!J<M]w}Ih}NbM,&V.B9c[bE)<7aDw!dawDoIS]WFn@6fdF6fXNsV%r7/!B*/
/*91$tk I#TRBOceqx&iCer0Td%7346+YZKzDPtsl}$@@xW&b%kdaL4{d#&*uZ<)Jk{YWF8T}*/
/*/N?Q{Xo H^Dq6ElUblVRh*/char *pr1="2aK05I5eQ0aZ57o1bs05U25]4bI27Z48g1a)06j37i"
"e9w39Xfev" "32V37Hf9g39m07Z2f[08p40qf0v47*09W2dG37s1aI48hebX55ge2h83R9fx90&9ag";//
/*JrDxET7@Y HH6uidTT@%H{Y9AZC^HTEZ$jDI]yCPS@xFppf!i1AWx@&tCY221lFg({V<hZUv1}p^/68*/
/*WiaGH}!*((Ft #$R{0YvNiri.hw}$4nXqXGj2<ZE10zyb^SDMYNY<a7ur!jkp@&]<.7t,@6COBRh#h#=cF,!E*/
/*i]DL79obw.Uv%s bgpN.6VZjp30Nq${%HHL{L>9{bIw{%r&9w7v9RmB>W!}6J*9r3N4A*xDnC.&*<cVH0Ju]0/$O>*/
char *pr2="2au05!1dp35v2d>06P52He5k80xcfy97wca[8fna7g8dSc7}9cLc9(7esb7Uad{cct98X9cOd6*5fH05j6d}c4(9eOaek"
"83Sadkb1I81gb0h98q8a<b1$7e@acn";/*l7n[U4xwBl%t}]7b+OB9l7xabIi6S&2AcFH,LA9%T#WWd.=?c2ieVv=*!2*ZI07/bE)&*/
/*9YYVtIN7>,4!sBb>LJ.*IZuFIp3AhJnl3xa*TZ]hw1WuHq+Nwhi6L>VC,WicpEiwFM9iIYV=97^zT^SbWFrt)Ex>C9VbV4+Xya/*/
/*R[MSB<*/half(){int i,j,k,l;/*Z=dwiPLLtDn]pVAqe#B>^zmiLn4>!#*/for(i=60;i>=0;i--){/*r.vD7N.T7D4GCepRg*/
/*Wmw(LOednD*E%yT*q@]l]6j3ClJdXDE@l@9,4=5Eguji6ZjrDrhi!64786jD=LR81Vc7CJ#]ojR3]1A%CvNm^bV9JJ3$npli1*/
/*ia}C*${xD}m{V3+NM0BdfOM,Hq$)0DR*/j=1./sr(3600-i*i);/*Mr1@qH7Ikq2e7s*/l=1./sr(900-i*i);/*hHL*W>]*/
/*hCw<9q]fB&4Vg/.l4DC3drxZ<7<d.}>@fI40OlLtph}[,rH)jlTDI0jjC8RD=LP)DLZPqwAV2bJ*6i61H{YApghXOkGj#m@*/
/*PE/kCc$.9xl{d+95TVw7xAn)^=N2qw&)Vw/?}{JC9J59O4,>xE&*JW7cVTV18&c*bVXLK2xVWc!fiC]kWGT8NZa1<h!DC*/
/*0HtOw*/for(k=0;k<60-j;k++)v(' ');v('/');v('*');/*bAV,J)rAwP8r2DM.}n}&U9@YixF%EHh1dC$w46{AL>*/
/*u4c)EUNEET33t}pF1XhZQNf37BuU}U]oV?lB5D?$<JJWRu0b>{u#hEiHldl+}ve1}<cfOaH8TOiPd((Ngg]XItICC*/
/*l7M.!D)%Oa}!iyG]5O74!$0z]ZD4GQ%K1Q$r>*/for(k++;k<60+j;k++){if(0<=i&&i<30){/*>FZc*IDQ6/P*/
/*Y7Y(L#Vw}u%z<1=,E%Ff*/if(i==10&&k==90)pr(def,&k);/*OJTSLn<DLriFR6UXfl4bO,*Tlh36TZ9vL7*/
/*^v4J.+33,{.<Wdwbi]EZCYh>s,5Tx*/else if(i==8&&k==70)pr(pr1,&k);/*V5,.4tc6S2i+NMq31+L*/
/*7a.bMguU5WY*/else if(i==6&&k==70)pr(pr2,&k);/*NV>i$FUpBlR1^CqC1sdnYhb4t+5qM.xAj!2*/
/*vx@j!.6b*.Vcfx1{I}*$nm]O*uA3)u}HqV9H}4nu$jtI]%adhV)c3[H4A&4*7&p.R$FwNqh1l<7jS,<*/
/*T4IsgAnMNPqQ#hz(mEqHfIJ$*f64Ss4g5c16F.*/else if(i==2&&k==63)pr(func,&k);/*}G$*/
/*[RTn9{pM,AIEhV!fmT#ki><.Uyj}w<4IYN6ql{Fo<R6&@&!a,BW5s7KXn4c@$jpc?k.I!FjhM[H*/
/*SrXh*/else v((90-l<=k&&k<=90+l)?u[rd()]:' ');/*fML!w*qr0W}!Ntu4F)De6[S9+D*/
/*iHoqs=>7a/qf$f?9DjAcNO.{h..YxZ!FldW]xMI4iAI&Zy)g8TO>&B)Ij^!Yd.=<A*q+,LN*/
/*wllZFuVCrHhwV}>2m0y%mN==6e1>Vp6Z9CY.Ms2Va3CZuu{7DxLV91B&V%{EoSi4Quv*/
/*S]fE/o4MpD>)x*/}else v(' ');}v('*');v('/');v('\n');}}/*zBijJalYel*/
/*+JZW}{,6V*{.(87/sq%1md@7MY)p*C}hwEE/<Re@qTZE6s/qg5p(GMosLZMqu*/
/*iN*9GHMLA96Mg5i?DZ&aLwv3&A*/main(){/*+)$1&F9*{+N){Cn!bQzA*/
/*7Tw)oR4Uyvrt*/#ifdef found/*DTiwwO1wu7SR.U[fQSIA7Hq5m.4*/
/*3Gy7c{wWWp}a!XmZmw(s.sBbeKrRQYTV3iP/0Y.HH0*/hehe();//
/*$Vasxa*/#else/*wLLj&!9J#rwF1iap6&0L6JKdJJ[Q*[z*/
/**/half();/*P{0oT)@M$)ShV7js&[Br.=s@XU<^QLG*/
/*Xj0#TZ8XM&&}+rZI<9wyu*/#endif/*0I).*/
/*B&^,/V}6+9+O<}9%lMKhtpHNO8r3E*/
/**/return puts(p);}/**/
/**/
The picture above is an ancient relic carved with a taegeuk pattern, dug up at a site that was found recently. As you can see, half of the relic is lost, so the survey team wants the missing half restored. They handed the relic to you, a skilled restorer. Restore it and tell them the secret that the original relic holds.
Input
The first line contains an integer ().
Output
Print the answer according to the secret that the relic holds.