제출 #919021

#제출 시각아이디문제언어결과실행 시간메모리
919021hungtien2202Bob (COCI14_bob)C++14
0 / 120
1048 ms18244 KiB
#include<bits/stdc++.h>
#define ll long long
using namespace std;

ll n,m;
ll grid[1005][1005];

ll solve(int target) {
    ll cnt = 0;

    for (int l=1;l<=m;l++) {
        vector<ll> heights(n, 0);
        for (int r=l;r<=m;r++) {
            for (int i=1;i<=n;i++) {
                if (grid[i][r] == target) {
                    heights[i-1]++;
                } else {
                    heights[i-1] = 0;
                }
            }
            ll cur = 0;
            for (int i=1;i<=n;i++) {
                if (heights[i-1] == r - l + 1) {
                    cur++;
                }
                else {
                    cnt += cur*(cur+1) /2;
                    cur = 0;
                }
            }
            cnt += cur*(cur+1) / 2;
        }
    }
    return cnt;
}

int main() {
    cin >> n >> m;
    for (int i=1;i<=n;i++) {
        for (int j=1;j<=m;j++) {
            cin >> grid[i][j];
        }
    }
    cout << solve(1) + solve(2);
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...