본문 바로가기
NOTE/Algorithm

uva_10074) Take the Land

by DevAthena 2015. 8. 21.






#include <iostream>
using namespace std;
 
 
int n, m;
int map[105][105];
 
 
int gg(int a, int b, int count)
{
    if (b <= m)
    {
        if (map[a][b] == 1)
            count++;
        else
            return count;
    }
 
    gg(a, b + 1, count);
}
 
int ss(int a, int b, int count, int g)
{
    if (a <= n)
    {
        if (map[a][b] == 1)
        {
            int zero;
            zero = gg(a, b + 11);
            if (zero >= g)
                count++;
            else
                return count++;
        }
        else
            return count;
    }
 
    ss(a + 1, b, count, g);
}
 
int main()
{
    int testcase;
 
    cin >> testcase;
 
    while (testcase--)
    {
        cin >> n >> m;
 
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < m; j++)
            {
                int num;
                cin >> num;
                
                if (num == 0)
                    map[i][j] = 1;
                else
                    map[i][j] = 2;
            }
        }
 
        int garo;
        int sero;
 
        int mul = 0;
        int max = 0;
 
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < m; j++)
            {
                if (map[i][j] == 1)
                {
                    garo = gg(i, j + 11);
                    sero = ss(i + 1, j, 1, garo);
                    mul = garo * sero;
                    if (mul >= max)
                    {
                        max = mul;
                    }
                }
 
            }
        }
 
        cout << max << endl;
    }
    return 0;
}
 
 
cs


'NOTE > Algorithm' 카테고리의 다른 글

자료구조) Graph  (0) 2015.08.25
자료구조) QuickSort  (0) 2015.08.25
자료구조) linked_queue  (0) 2015.08.25
자료구조) linked_stack  (0) 2015.08.25
dovelet) maze 최단 거리 미로  (0) 2015.08.25