#include int x,y; int pp1[10000]; int pp2[10000]; void konci(int i) { int k=0; char line[10000]; for(k=i+1;k0 && p1[j]==0 && p2[j-1]==0) { p2[j]=lodi; lodi++; } else if (p1[j-1]==0 && p1[j]==0 && p2[j-1]==0) { p2[j]=lodi; lodi++; } else if (p1[j-1]==0 && p1[j]==0 && p2[j-1]>0) { p2[j]=p2[j-1]; } else if (p1[j-1]==0 && p1[j]>0 && p2[j-1]==0) { p2[j]=p1[j]; } else if (p1[j-1]==0 && p1[j]>0 && p2[j-1]>0) { konci(i); return -1; } else if (p1[j-1]>0 && p1[j]>0 && p2[j-1]==0) { konci(i); return -1; } else if (p1[j-1]>0 && p1[j]==0 && p2[j-1]>0) { konci(i); return -1; } else { if (p2[j-1]==p1[j]) p2[j]=p2[j-1]; else { konci(i); return -1; } } } else { p2[j]=0; } } /* printf("pole2\n"); for(j=0;j<=y;j++) { printf("%d",p2[j]); } printf("\n");*/ } return lodi-1; } int main(void) { int num; scanf("%d %d\n",&x,&y); while (x!=0 || y!=0) { num=Do(); if (num==-1) printf("Bad placement.\n"); else printf("There are %d ships.\n",num); scanf("%d %d\n",&x,&y); } return 0; }