Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int acharCapturas(int i, int j, int tab[20][20]) {
- int nCapturas = 0, maxCapturas;
- if(tab[i-1][j-1] == 2 && !tab[i-2][j-2] && i-2 >= 0 && j-2 >= 0) {
- nCapturas++;
- tab[i-1][j-1] = 0;
- nCapturas += acharCapturas(i-2, j-2, tab);
- }
- maxCapturas = nCapturas;
- if(tab[i-1][j+1] == 2 && !tab[i-2][j+2] && i-2 >= 0) {
- nCapturas = 1;
- tab[i-1][j+1] = 0;
- nCapturas += acharCapturas(i-2, j+2, tab);
- }
- if(nCapturas > maxCapturas)
- maxCapturas = nCapturas;
- if(tab[i+1][j-1] == 2 && !tab[i+2][j-2] && j-2 >= 0) {
- nCapturas = 1;
- tab[i+1][j-1] = 0;
- nCapturas += acharCapturas(i+2, j-2, tab);
- }
- if(nCapturas > maxCapturas)
- maxCapturas = nCapturas;
- if(tab[i+1][j+1] == 2 && !tab[i+2][j+2]) {
- nCapturas = 1;
- tab[i+1][j+1] = 0;
- nCapturas += acharCapturas(i+2, j+2, tab);
- }
- if(nCapturas > maxCapturas)
- maxCapturas = nCapturas;
- return maxCapturas;
- }
- int main() {
- int linhas, colunas, i, j, tab[20][20];
- scanf("%d %d", &linhas, &colunas);
- while(linhas && colunas) {
- int maxCapturas = 0, nCapturas;
- memset(tab, 1, sizeof(tab));
- for(i = 0 ; i < linhas ; i++) {
- for(j = (i % 2 == 0 ? 0 : 1) ; j < colunas ; j+=2) {
- scanf("%d", &tab[i][j]);
- }
- }
- for(i = 0 ; i < linhas ; i++) {
- for(j = (i % 2 == 0 ? 0 : 1) ; j < colunas ; j+=2) {
- if(tab[i][j] == 1) {
- nCapturas = acharCapturas(i, j, tab);
- if(nCapturas > maxCapturas)
- maxCapturas = nCapturas;
- }
- }
- }
- printf("%d\n", maxCapturas);
- scanf("%d %d", &linhas, &colunas);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement