Участник:Rusal/BCAKE
Материал из DISCOPAL
https://www.spoj.com/problems/BCAKE/
int H,W,K; scanf("%d %d %d\n", &H, &W, &K); //printf("%d, %d, %d\n", H, W, K); int i,j,x,y; //char A[30][30]; char A; int B[32][32]; //B[0][0]=0; for (j=0; j<=W; j++) B[0][j]=0; for (i=1; i<=H; i++){ B[i][0]=0; for (j=1; j<=W; j++){ scanf("%c", &A); B[i][j]=B[i][j-1]+B[i-1][j]-B[i-1][j-1]; if (A == 'C') B[i][j]++; } scanf("\n"); } int M_S = 1000; for (x=1;x<=H;x++){ for (y=1;y<=W;y++){ for (i=x;i<=H;i++){ for (j=y;j<=W;j++){ int num = B[i][j]+B[x-1][y-1]-B[i][y-1]-B[x-1][j]; //printf("@(%d - %d)^(%d - %d) = %d\n", i, x-1,j,y-1, num); if (num == K){ int S = (i-x+1)*(j-y+1); if (M_S>S){ M_S = S; //printf("%d\n", M_S); } } } } } } if (M_S == 1000) M_S = -1; printf("%d", M_S);
StasFomin 00:41, 2 декабря 2020 (MSK): Нужна версия SPOJ-компилятора, та же проблема. Rusal 17:08, 2 декабря 2020 (MSK)C(gcc) Rusal 21:17, 2 декабря 2020 (MSK) UPD Признаю, там компилится, но говорит, что ответ неверный. Но контрпримеров я не нашёл(