#include #include #define MAX_N 15 FILE *in; FILE *out; typedef struct predm_typ { int day[30]; int count; }PREDMET; PREDMET predm[MAX_N]; int N,c,cc,temp,min[MAX_N]; int except,i,flg,ex1; int Search(int except,int c) { int temp,cc,flg=1; cc=0; if(except==0) { temp=predm[c].day[0]; } else { temp=31; } while(ccpredm[c].day[cc]) { temp=predm[c].day[cc]; flg=0; } cc++; } /* if(flg){return-1;}*/ return temp; } int main(void) { in=fopen("input.txt","r"); out=fopen("output.txt","w"); fscanf(in,"%d\n",&N); for(c=0;c0) { predm[c].day[cc]=temp; predm[c].count++; // printf("%d %d\n",predm[c].day[cc],predm[c].count); } if(temp==0) { flg=0; } cc++; } } for(c=0;c0) { flg=1; while(flg==1) { ex1=except; for(i=1;i<=c;i++) { if(min[c]==min[c-i]) { except=min[c]; } } if(except==ex1) { flg=0; } // printf("\n %d",except); min[c]=Search(except,c); /* if(min[c]==-1) { fprintf(out,"-1"); fclose(in); fclose(out); return 0; }*/ } } else { min[c]=Search(0,c); except=min[c]; } } for(c=0;c