
코드를 컴파일 해서 실행시켜보니 역시 아무런 반응이 없습니다.
그래서 일일이 코드를 풀어서 보기로 했습니다. -_-;
char*_=__FILE__"_`";
#include <stdio.h>
typedef int N;
struct{N y,a,u,_,n;}__ ,o[1<<16];
N E,K,O[1<<16],z=46340,n,a,t,s,u,m,i;
typedef void D;
D p(N r){
putchar(r);
}
D q(N c,char*r){
printf(r, c);
}
D Y(N r){
if(o[t].a>o[n].a+o[u].a){
o[t].y=r;o[t].a=o[o[t].u=n].a+o[o[t].n=u].a;
o[o[t]._<z?t:(O[E++]=t)]._=m;
};
}
D Q(N c);
D P(N c,N r){;
c=(o[c].y&r)?(Q(c),0):(p(40),Q(c), p(41),0);
}
D Q(N c){c=(o[c].y-1)?(o[c].y&6)?P(o[c].u,3),(o[c].y-2?(p(47),(o[c].n-s?(p(40),Q(o[c].n),p(41),0):(Q(s),0))):(p(42),P( o[c].n,7),0)):(Q(o[c].u),(o[c].y-8?(p(45),P(o[c].n,7 ), 0) : (p( 43),Q(o[c].n),0))):(q(s,"%d"),0);}
D d(N c){
if(c> (z- 1)* (z -1 ))
{
q(s,"%d*(");
d(c/s);
p(41);
if(c%s){
{;}
p(+43 -0);
p(40);
Q(c%s);
p(41);
}
}
else
{
if(c<z)
{
Q(c);
}
else
{
n=c;
u=0;
for(i=2; i<=(a=c/i);i++)
{
if(a<z){
if(n >(m=o[i].a+o[a].a+o[c%i].a))
{
n=m;
u=i;
}
}
}
P(u,3);
p(42);
P(c/u,7);
if(c%u)
{
p(43);
Q(c%u);
}
}
}
}
N main(int c,char **r)
{
if(c>1)
{
for(t=i=0;*_;t +=(N)*(_++) );
++s;++K;
for(s=03+(t%+247);i<z;i++)
o[i].a=o[i]._=z;
o[o[0].a=o[s].u=o[s].n=o[s]._=m=0].y=16;
for(o[0]._=o[s].a=E=K=o[o[0].u =o[0].n=O[0]=s].y=1; E<z-1;K=E)
{
for(++m,i= 0 ;i<K;)
{
a=0;
for(n=O[i++];a<K;)
{
if((t=n*(u=O[a++]))<z)Y(2);
if(!(n%u))
{
t=n/u;
Y(4);
}
if( (t=n+u)<z)
Y (8);
if((t=n-u)>1)
Y(16);
}
}
}
K=1;
for(;K++<c; p ((m <0)?(p (45),p(40),d(-m),p(41),10):(d(m),10)) )
{;
sscanf (*(++r),"%d",&m);
q(m,"%d\40=" " ");
}
};
{;}
return+0;
}이런 젠장...이라고 말이나오는군요.
뭘 이리도 보기가 힘든건지...
...
제 시스템에서 한~참을 돌렸습니다.
정말 오래돌아가야하더군요.
VS.net에서 브포 걸어서 한 라인씩 이동했었는데
계~속 한곳에서 루프돌길래 무한루프에 걸렸는줄 알았습니다.
아무래도 이상하다 싶어서 그냥 놔뒀더니
아래와 같은 결과를 출력하더군요. -_-;
c:> natsumi hello
결과 : 6 = (152+152+152)/(152*152/(152+152))
c:> natsumi helloworld
결과 : 6 = (152+152+152)/(152*152/(152+152))
둘 다 같은 결과인데 왜 저렇게 나오는지는 모르겠네요. -_-;
더이상은 무리인것 같습니다.
char*_에서부터 질려버렸는데 -_-;
아래는 NATSUMI.C의 정렬하기 전 소스입니다.
char
/******____
*/*_=__FILE__"_`";
#/* ,c2005__***/include <stdio.h>
/** ,*/typedef/**/int N;struct{N y,a,u,_,n;}__ ,o[1<<
16] ;N E,K,O[1<<16],z=46340,n,a,t,s,u,m,i;typedef void D/*.
**/ ;D p(N r){putchar(r);}D q(N c,char*r){printf(r, c);}D Y(N
r){if (o[t].a>o[n].a+o[u].a){o[t].y=r;o[t].a=o[o[t]. u=n].a
/**** */+o[o[t].n=u].a;o[o[t]._<z?t:(O[E++]=t)]._=m;} ;}D
Q( /**/N c);D P(N c,N r){;c=(o[c].y&r)?(Q(c),0):(p(40),Q( c),
p( /***/41),0);}D Q(N c){c=(o[c].y-1)?(o[c].y&6)?P(o[c]. u,
3) ,(/****/o[c].y-2?(p(47),(o[c].n-s?(p(40),Q(o[c].n),p(41 ),
0):(Q(s)/***/,0))):(p(42),P( o[c].n,7),0)):(Q(o[c].u),(o[c ].y
-8?(p(45),/**/P(o[c].n,7 ), 0) : (p( 43),Q(o[c].n),0))):(q (s,
"%d"),0);}D d(N c){if(c> (z- 1)* (z -1 )) {q(s,"%d*("); d(c/s
);p(41);if(c%s){{;}p( +43 -0); p/* ` +\ */(40);Q(c%s );p(41
);}}else{if(c<z){Q(c );}else/* `+_`*/{n=c;u =0;for(i=2; i<=(a=c/
i);i++){if(a<z){if(n >(m=o[i ] . a+o[a]. a+o[c%i].a)) { n =m;
u=i;}}}P(u,3);p(42) ;P(c/ u,7);if (c%u){p(43);Q (c %u
);}}}}N main(int c ,char **r){if (c>1){for(t =i =0
;*_;t +=(N)*(_++) );++ s;++ K;for(s=03+ ( t
%+ 247);i<z;i++ )o[i].a=o[i] ._ =
z ;o[o[0].a=o[s] .u=o[s].n=o[s] . _=
m= 0].y=16;for(o[0 ]._= o[s].a=E=K=o[o[ 0 ]
. u =o[0].n=O[0]=s].y =1; E<z-1;K=E){for( ++ m
, i= 0 ;i<K;){a=0;for(n=O[i ++]; a<K;){if((t=n*( u= O[
a ++ ] ))<z)Y(2);if(!(n% u)){t=n/u; Y(4);}if( (t=n+u) <z
) Y ( 8);if((t=n-u)>1)Y( 16);}}}K=1 ;for(;K ++<c
; p (( m <0)?(p (45),p(40 ),d(-m),p( 41),10) :(d(m),10)
) ) {; sscanf (*(++r) , /*' */ "%d",&m);q(m,"%d\40="
" " ); } }; {;} return+0;}Posted by shiftkey



