#include<stdio.h>
float sr(float y){int i=0x5f3759df-((*(int*)&y)>>1);
float x2=y*0.5F; y=*(float*)&i;
y=y*(1.5F-(x2*y*y));return y*(1.5F-(x2*y*y));}char p[1<<16],*a=p;
#define v(b) *a++=(b)
int tt=0,vv=2,ww=5;
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;
ww=(tt*4+tt*tt*3+vv*7+vv*vv*13+ww+ww*ww*12)%5883;
return tt;}
char *func;
char *u;
char *def;
void pr(char *t,int *k){unsigned int w=0,c;
while (*t){sscanf(t,"%x",&c);c=(c+w)%256;
w=(c-w+256)%0x100;v(c);t+=3;(*k)++;}(*k)--;
}
char *pr1;
char *pr2;
void half(){int i,j,k,l;
for(i=60;i>=0;i--){
j=1./sr(3600-i*i);
l=1./sr(900-i*i);
for(k=0;k<60-j;k++)v(' ');v('/');v('*');
for(k++;k<60+j;k++){if(0<=i&&i<30){
if(i==10&&k==90)pr(def,&k);
else if(i==8&&k==70)pr(pr1,&k);
else if(i==6&&k==70)pr(pr2,&k);
else if(i==2&&k==63)pr(func,&k);
else v((90-l<=k&&k<=90+l)?u[rd()]:' ');
}else v(' ');}v('*');v('/');v('\n');}}
int main(){
#ifdef found
hehe();
#else
half();
#endif
return puts(p);
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
0 ms |
1144 KB |
SIGSEGV Segmentation fault |
2 |
Halted |
0 ms |
0 KB |
- |