//////////////////// // Just a fairly lame entry in the 'Obfuscated V contest'. // Copyright Henrik Abelsson //////////////////// #include #include #define ulong32 unsigned long #define uchar32 unsigned char #define reset(x) {int _i; for (_i=0;_i<256;i++) x[i]=0;} #define V0TE VOTE;goto*(p1[v==0x42?0:v==75?1:v==0116?0:3]);VOTE int main () { void *p1[] = { (&&b),(&&k),(&&n),(&&defult)}; unsigned long Input; unsigned long total=0; unsigned long Tally[256]; unsigned int type; unsigned int i; /* reset tally */ for (i=0;i<256;i++) Tally[i] = 0; while ((Input=getchar())!=EOF) { unsigned char v=Input; unsigned char V0TE = 0; total++; if (Input == EOF) break; /* skip whitespace */ if (Input == '\n' || Input == '\t' || Input == ' ') continue; VOTE = Input; switch(VOTE) { case 'B': /* add vote for bush */ b:Tally['B']++; break; case 'K': /* add vote for kerry */ k:Tally['K']++; break; case 'N': /* add vote for nader */ n:Tally['N']++; break; defult: /* add independent vote */ Tally['O']++; break; } } printf("Kerry %d\n",Tally['K']); printf("Bush %d\n",Tally['B']); printf("Nader %d\n",Tally['N']); printf("Other %d\n",Tally['O']); return 0; }