1. C++ / Говнокод #10187

    +56

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    #/*        */include<stdio.h>
                        /*    */int/**/main(int/**/o,char**O){int      y[4],
                      r[4]   ,z[4],C,h,i,n,a,t,s,u[2][3][4]={{{6,9,0,3}     ,
                    {     1,10,4,7},{5,11,2,8}},{{3,0,6,9},{10,1,4,7},{     8,2,5
              ,11}}},    M,I,R,A,K,U[2],RU[2],N[2],_=2;FILE*x[03]      ;  unsigned/*,
           */char/**/ p[2][3<<16],d[12],b[256][256];float/**/f,q        [12];if((o<4)){
          return!puts("<a.ppm>\40<b.ppm>\40<output.ppm>\40[odd]")    ;}else{for(h=0;h<2;
        h++){M=SEEK_SET;if(!(x[h]=fopen(O[h+1],"rb")))goto/**/e;if( (int)fread(*b,1,256,x[h
        ])<1||sscanf((char*)*b,*O="P6\n%d\40%d\n%d\n",&U[h],&N[h],&i)-3||i-255)goto/**/e;for(
       i=C=RU[h]=0;i<256&&!RU[h];i++)if(b[0][i]=='\n')if(++C==3)fseek(x[h],RU[h]=i+1,M);if(!RU
      [h]||U[h]<1||U[h]>(1<<16))goto/**/e;}if(*U-U[1]||*N-N[1])goto/**/s;for(h=0;h<256;h++)for(
      i=0;i<256;b[h][i++]=0) ;for(i=0;i<*N;i++){for(h=0;h<2;h++)if(fread(p[h],3**U,01,x[h])!=1)
     goto/**/e;for(h=0;h<3**  U;h++)b[p[0][h]][p[1][h]]=1; }*y=*r=y[2]=r[2]=64;y[1]=r[1]=y[3]=r[
     3]=192;A=(y[1]-*y)*(y[   3]-y[2]);for(M=64;M>0; M/=2) {for(t=-1;t<=0;t++)if((*z=*r+t*M)>-1)
     for(I=-1;I<1;I++)if((z    [ 2]=r[2]+I*M)> (-1))  for   (s=1;s>-1;s--)if((z[1]=r[1]+s*M)<257
     )for(R=1;R>-1;R--)if(     +  257>(z[3]=r  [3]+R*  M)   )if((K=(z[1]-z[0])*(z[3]-z[2]))>A){
    for(h=C=0;h<256&&C> -1           &&C<256;   h  ++)for      (n=h*(z[1]-z[i=0])/256+*z;C>-1&&
    i<256&&C<256;i++){a =  i*(z[3]-z              [2    ])/256+ z[2];if(b[h][i])C=(3*n-a)/2;}if
     (C>-1&&C<256)for(C  =0     ,   A=           K  ;C   <4;++   C)y[C]=z[C];}for(C=0;C<4;C++)r
     [C]=y[C];}if(!(x[2     ]   =/*                 */   fopen   (O[03],"wb+")))goto/**/e;else{
     fprintf(x[2],*O,2*    *U,2**N,+               255);for(h=   0;h<(2);h++)fseek(x[h],RU[h],
     SEEK_SET);C=(o<5)?    1/***/:00               ;/***/R=1+(  1<<16);for(i=0;i<*N;i++){for(h
     =0;h<2;h++)if(fread   (/****/p[               h/****/],+3  **U,1,x[h])!=1)goto/**/e;for(
      M=0;M<7;M+=6)for(h    =/**/0;*                U/**/>h;h  ++){for(n=0;n<3;n++){for(a=0;
       a<2;a++)q[u[C][n]     [a]]=p                  [a][h    *3+n]*(r[a*2+1]-r[a*2])/256.f
       +r[a*2];q[u[C][n]                                     [2]]=q[u[C][n][3]]=(3*q[*u[C][
        n]]-q[u[C][n][1]]                                    )/2;}for(n=0;n<12;d[n++]=t<0?
        0:(t>255?255:t)){               t       =          q[n];f=q[n]-t;_=(_*75)%R;if(_<f
         *R)++ t;}fwrite(d               +M,6,1,            x[2]);}}}}for(h=0;h<3;h =h + 1
         )  t=   fclose(x [h                               ]);     return  (t*1);s  :
             *O    ="si"    /*                           */       "ze ";   printf  (
               *     /*'      P*/                     O);        ;e  :    return
                      !          /*w*/            puts                      /*;
                                      */("error");                            }

    http://uguu.org/sources.html юзайте ребята.

    Запостил: KusokGovna, 04 Мая 2012

    Комментарии (11) RSS

    Добавить комментарий