/* * @(#) msu98_b.c - Problem 'B' ("The jury") solution * of the ACM Programming Contest at the MSU in 1998. * (c) 1998 Ivan Maidanski http://ivmai.chat.ru * Freeware program source. All rights reserved. ** * Language: ANSI C * Tested with: Borland C++ v3.1 * Last modified: 1998-09-27 19:25:00 GMT+04:00 */ /* Input data file: b.dat */ #include /* FILE, fopen(), fscanf(), printf() */ int n,i,j,k,kk,bi,bp,p; char a[100][100]; void calc(void) { int i; for (i=0;i0) { for (j=0;j0) { for (j=0;j0; if (p<=20) { kk=k; calc(); for (i=0;i0) a[i][i]=-1; k=kk; } else for (;;k++) { for (i=0,bp=n;i0) { for (j=p=0;j0 && a[i][j]; if (bp>--p) bp=p,bi=i; } if (bp==n) break; for (j=0;j