膜拜,第 25 届国际 C 语言混乱代码大赛获奖作品公布

(点击上方公众号,可快速关注)


转自:开源中国社区

https://www.oschina.net/news/95865/ioccc-2018


第 25 届国际 C 语言混乱代码大赛日前已成功举办,并公布获奖作品名单和代码。国际 C 语言混乱代码大赛(IOCCC, The International Obfuscated C Code Contest)是一项国际编程赛事,目的是写出最有创意的最让人难以理解的 C 语言代码,并限制在 4 kilobytes 以内。


之前常在该比赛中拿奖的浙大教授侯启明和 Google 的 Don Yang 再次获奖。侯启明这次写了一个 JSON 转 SVG 饼状图的转换器,这也是他第五次获奖。Don Yang 则是第 8 次拿奖,写的是一个文本翻转和移位器(Text rotator and shifter)。


此外,著名开源项目 FFmpeg 和 QEMU 的作者 Fabrice Bellard 也参加了比赛并获奖,他的作品是一个图像压缩 demo 。  

      

获奖名单一览:


640?wx_fmt=png


一些有意思的代码如下:


anderson

#include<stdio.h>
int a = 256;int main(){for(char b[a+a+a],
*c=b ,*d=b+ a ,*e=b+a+a,*f,*g=fgets(e,(b[
a]=b [a+a] =a- a,a) , stdin);c[0]=a-a,f=c
,c=d ,d=e ,e=f, f= g,g =0,g = fgets(e,a+a
-a+ a -a+a -a+ a- +a,stdin ),f +a-a ; pu
tchar(+10)) { for( int h= 1,i=1,j, k=0 ,l
=e[0]==32,m,n=0,o=c [ 0]== 32, p, q=0;d[q
];j=k,k=l,m=n,n=o,p=(j)+(k* 2 )+(l =(i =
e[ q]&&i ) &&e[q +1 ]== 32,l*4)+(m* 8 )+(
16*  n  )+(  o  =(h =c[ q]&&h)&&c[q+1]==
32,o* (16+16) )+0-0 +0, putchar(" ......"
/*  (  |||  )  |/|/ / */".')|)\\\\'"
"" "|||"   "|||" "|'" ")|)\\\\'/|/(/"
"(/'/|/\|\|'/|/(/(/'/|/\|\|"[d[q++]==
32?p:0]));}}/* typographic tributaries */


vokes

#include             <stdio.h>
               #include                         <string.h>
                #include   <stdlib.h>
                 typedef                 unsigned
                  long W;        static
              W*i,t,c,h,e,r,y,**a,*b,*o,*u,*n,*d,*s;enum
         _ {F=6   , I=7,N=  5  ,   D     =     3      ,M=14
       ,Y=0     ,    C=8,L   =  1    , U     =   9   ,    E=4};
       static void   (* _ )    ( )    ;  static void*(*B)(),*T;
        static char m[0x3543],*Z;void *meltdown(void *p,size_t
       sz)
{ void *z=realloc(p,sz);if(!z||!sz)exit(n?y!=*n:I-F);
      return z;}void magic(W*p){W j;for(j=0;j<p[F];j++){W*v=T,Q=
     p[M+j];W*J=a[Q];if(N[J]==~0LU){ _ (Q);v=&I[J];}else if(J[D])
    {v=&N[J];}if(v&&I[p]>*v)I[p]=*v;}}void cast(void){B(i,Y);}void
   spell(W G,W H)
{ _ (); _ (H); _ (H, G); _ (H); _ (G);}void witch(
  void)
{e=n[--E[b]];a[e][D]=0;if(b[C]>=U[b]){c=2*(b[C+L]?b[U]:1);o=B
 (d,c *sizeof*o);u=B(s,c*sizeof*o);b[M-N]=c;d=o;s=u;}d[b[N+D]++]=e;if
 (e>y)y=e;}void*brew(void*g,size_t l){puts(l?"":"Out of range.");exit
(g?1:1);}void newt(W *p){F[p]=0;N[p]=I[p]=~F[p];}void bubble(W H){for
(t=0;t<H;t++){s[i[d[H-t-1]]---1]=d[H-t-1];}}void boil(W G){for(t=0;t<
G-1;t++){i[t+1]+=i[t];} _ =bubble;}void hex(W G,W H){for(t=0;t<H?G:Y;t++
){i[d[t]]++;} _ =boil;}void nasal_demons(W G){for (t=Y;t<G;t++)i[t]=0; _
=hex;}void toil(void){i=B(i,y*sizeof*i); _ =nasal_demons;}void bat(W l)
{C[b]=0; _ =witch;do _ ();while(e!=l);y++;if(!y)B=brew; _ =toil;spell (C
[b],y);printf("%lu:",b[L]++);for(y=0;y<C[b];y++){printf(" %lu",s[y]);}y=
0;puts("");}void potion(W l){W*p=a[l];if(p[N]!=~0LU)return;p[F+L]=h;p[N]
=h;p[D]=1;h++;n[b[L+D]++]=l;if(E[b]==r){r*=2;n=B(n,r*sizeof*n);}magic(p)
;if(I[p]==p[N]){bat(l);} _ =potion;}void O(void){n=B(n,2*sizeof(*n));Y[n
]=r;if(a&&a[t]){r=2;b=a[t]; _ =potion;b[L+C]=b[L]^=b[L];E[b]=1;for(y=0;y
<*n;y++){if(a[y]){ _ (y);}}} _ =cast;h=0;}void toad(W g,W j,W*l){o=B(a
[g],((a[g]?a[g][F]:0)+j+M)*sizeof*o); _ =newt;if(!a[g]){ _ (o);}for(y=
 0;y<j;y++){o[F[o]+F+C]=l[y];o[F]++;if(l[y]==g){continue;}u=B(a[l[y]]
  ,((a[l[y]]?a[l[y]][F]:Y)+M)*sizeof*u);if(!a[l[y]]){ _ (u);}a[l[y]]
    =u;}y=0;a[g]=o;}void familiar(void){W**w;e=r;if(!r){r=1;}while
       (r<=t){r*=2;if(!r){B=brew;break;}}w=B(a,r*sizeof*a);if(!
            Z){Z="_";}for(y=e;y<r;y++){y[w]=T;}y=0;a=w;
           _ (Y[i]  ,c-1,&i[1]);}void spectre(void  ){if((W)
         *Z-060                                        >011){
      return;}                                            _ =toad
    ;i[c]=(                                                W)atoi(
Z);if(i[c]>t){t=i[c];}c++;if(c==h){i=B(i,2*h*sizeof*i);h*=2;}y=i[c-1];if
((Z=strtok(T," "))){if(U>=(W)*Z-I*I+L) _ =spectre;}}int main(int argv,
char**argc)
{h++;if(argc){T=argc[argv];} _:_ =O;i=(B=meltdown)(T,h*sizeof
*i);while(*argc||Z){c=0;*argc=fgets(m,sizeof(m),stdin); _ =spectre;if(!*
argc){Z=T;goto _ ;}Z=strtok(*argc," ");while(Z&&(W)*Z-(M*D+F)<=U){ _ (
);}if(t>=r)familiar();else if(c>0){ _ (i[Y],c-1,&i[1]);}} _ ();goto _ ;}


Yang

#include/*nui*/<stdio.h>//;70/*#}r[3]op;f(p;ok})i[;k-r*?(rc&(o}nr**s*2)!}-mpi##
extern int n0;typedef int x;x//i/eu2->uuo0uo=;nXfdx+1e8uOeh&k-x[e1(i)>{=eqa,nii
n,u,k,o,_,i=1;static char//[X]/f/t]:n=t-rxt+0f[=(-=+;t)*,aa!>1=dt0pzrpi(l)idtnn
d[1125][0x401];x main(){if(//]* nu]O[nc-(ac=;odxx1k]}u)2ulr(=00+u2=ee&fos{n,*cc
i){for(n=0;1024>n;n++)//]Tkhng[0ur)[u[h>u)h1or];>]-=Or):=l*Ou);+r4poa&(=ep(qnll
for(u=0x0;u<1025;)d[n][u++]=64//[n;o]ua0=)a,<(=}X;no[n{8uo)=&{i]n)?fl!!g{u)=,uu
/2;for(u=n=0]_#p^#onui[/u+}+?+r;d{r/Xc/(&if=-)p(l(xewt{1udd
/4;EOF!=(o=]#ebdl#ah[0}n/1()1f(k1)*ion)thsO;,ee
getchar())//        //]u#oh[,;///            //;;)2nc={ci(=ck<<
&&u<1024;//            /                    }{:t((ihl"Nh,ss
)u+=o-10//                /                            ///2)nifaeYUaott
?n<1024//                                                       ,n(r(uLr,dd
?d[n++//       @@@                                                ///td(EuL*Xli
][u]=o//      @   @                                                ///+)Or;O,io
,k=k<//       @   @                                                 ///)Fii;xb.
n?n:k//       @   @                                                   ///"fi,.h
,0:0//         @@@                                                     //)(n/h>
:!(n//                                                                 //;0t/>/
=0);//                                                                  //!/|//
for(//      5                                                           //=/*/%
;k--//     12                                                           =q tni
;)d[k//                                                                  //))u/
/01][u//                                                                 //1Ni/
/1]/*n///                                                                //(Ui;
>*/
=!/*N//                                                               //=K~/
h*/
1,/*UN///                                                            //nqO~*
.*/
puts/*n                                                          //[/?,]
o*/
(d[k])/*u//               ///                                //1*q[u
i*/
;}else{//t/      ///                            //,stup;
d[0][0]++;puts(/*f/     //]====[                       //(N tni
ti&/N/.///s/It]]_bz8[//     ///SHOUJOv///               //;}"jvo"
su /U/N///t}Ue]~J#phi[//    //SHUUMATSU|]_[             ///,"/utf"
<ntt/fe=)|UI0{u;Nnu]^u#j[v//    //,^^RYOKOU/:)]a#p[.//            ///"c!tj!xb"
e/ n/ilI(|/(1ep)/ *>->IOCCC//   //]^#dbi#`h#anuok^u#[//          ///"S","/ttfm"
d/eit{i(rl/r-s-"/e/]o[^^^^^!/]hfhu[Qj:FfT]uhp)~[[//      ///"iuspx!fsb!tho"
unn;n)h=a({aIl0onnt//"jiu!fmcjefoJ","/zsbdt!fsb!tobnvI!"  "///","~<1!osvufs<*2"
lriqi(w!hf)h=e1trin//".;2;1;1+*432&25*3,o)_6)92xsbiduvq@1=v@2:.o@4:.o),v,1/>"
cef ;n{Fci2cl}-iufi//"v*1?**)sbidufh>o))fmjix|*)ojbn!uoj<v-o!uoj31?i/pjeut=fe"
ntetli)Ot{3t;}lhte}//"vmdoj$","svpU!utbM!(tmsjH"{=]041[]6[u,n*rahc;q tni nretxe
ixdn,aqEe)-u)}=Ced;//};0+nruter;)K(U;)++n*--;n*;K=n(rof{)(niam )O,K,U(N enifed#
#e#iIm((g)Ip ;I"r#0.[(c)2018][cffc189a]*/
"Nuko");}return+0;}//>h.oidts<edulcni#


所有获奖名单的源代码查看 http://www.ioccc.org/years-spoiler.html




看完本文有帮助?请分享给更多人

关注「CPP开发者」,提升C/C++技能

640?wx_fmt=png

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您可以通过说出赞美的话,或者向他表示您的敬意来向他。例如:“gzn真是太厉害了,我真的很佩服你。”或者“gzn,你真的很优秀,我想向你学习。”但是,他人可能会让您看起来很不自信,所以我建议您可以尝试学习他的优秀之处,并努力成为一个更优秀的人。 ### 回答2: 如果你觉得一个叫gzn的人很强,想要他,以下是一些建议: 1. 尊重他:向gzn表达你对他的尊敬和赞赏,对他的成就和才能表示钦佩。遇到他时,礼貌地与他交谈,并注意言行举止的得体和尊重。 2. 学习他的优点:了解gzn的优秀之处,并从中学习。看看他取得成功的原因,是否是他的刻苦努力、智慧决策或者他在某个领域的专业知识。尝试模仿他的行为和思考方式,研究并学习他的成功之道。 3. 向他请教:如果有机会,向gzn提出问题,寻求他的建议和指导。尊重地向他表达你的兴趣,并请教他在某个领域中的经验和见解。展示你对他的学习态度和对他智慧的崇。 4. 支持他的事业:如果gzn有自己的事业或项目,你可以尽力支持和关注他的努力和成果。参与他的项目,分享他的成就,为他的事业助力。这样,你不仅可以表达你的钦佩之情,还能够与他建立更紧密的联系。 5. 自我成长:尽管你想向gzn学习,但也要保持自己的独立思考和个性。不要完全模仿他,而是将他的优点和经验与你自己的才能和兴趣结合起来。追求自己的成长,并为自己设定目标,努力成为一个强大而有原创力的个体。 最重要的是,他不仅仅是以身体力行,更是通过行动向他证明你是一个值得尊敬和关注的人。承担起积极向上的行为和责任,以自己的努力和成就来回报他的关注和期待。 ### 回答3: 如果你觉得一个叫gzn的人很强,想要向他,你可以考虑以下几点: 1. 尊重与赞美:向gzn表示对他所取得成就的钦佩和赞美,这是最基本的表达方式之一。尊敬他的才华和技能,并且以谦逊和真诚的态度向他表达你的敬意。 2. 学习与模仿:观察gzn的行为和习惯,尝试学习他的成功之道。了解他取得成就的原因,从他的经验中汲取灵感,将其运用到自己的生活中。努力追求自己的目标,并向gzn学习如何提升自己的能力和技巧。 3. 合作与交流:如果你有机会与gzn进行交流或合作,抓住这个机会。分享自己的观点和想法,与他探讨各种话题,寻求他的建议和指导。与gzn建立良好的合作关系,有助于你从他的经验中获益。 4. 成为他人的榜样:通过向身边的人展示你对gzn的尊敬和模仿,成为他人的榜样。在自己的生活和工作中发挥积极的影响力,传递正能量,鼓励他人追求自己的目标和理想。这样的行为也能够向gzn表达你对他的敬意。 不管你选择了哪种方式,保持真诚和谦虚的态度非常重要。并不意味着盲目崇,而是对别人的才华和成就表示敬意,并从中获得启发与动力。记住要相信自己的潜力,努力发展自己的实力,成为更好的自己。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值