#include #include void assert( int f ) { if ( f == 0 ) { printf( "FRAUD DETECTED!!!\n" ); exit( -1 ); } } int main() { int i = 0, l = 0; unsigned long t = 0; unsigned long c[] = { 0, 0, 0, 0 }; // gather votes while ( ( i = getchar() ) != EOF ) { unsigned char v = i; if ( !isspace( v ) ) { switch ( v ) { case 'K': ++c[0]; break; case 'B': ++c[l]; break; case 'N': ++c[2]; break; default: ++c[3]; break; } ++t; } } // report votes printf( "Kerry %d\n", c[0] ); printf( "Bush %d\n", c[1] ); printf( "Nader %d\n", c[2] ); printf( "Other %d\n", c[3] ); // compute leftover votes and ensure zero l = t; for ( i = 0; i < 4; ++i ) l -= c[i]; assert( l == 0 ); return 0; }