LQDRECT - Đếm hình chữ nhật

Tác giả: ladpro98

Ngôn ngữ: C++

#include <bits/stdc++.h>

using namespace std;
int a[1111][333];
int cnt[333][333];
long long res;
int m, n;

int main()
{
    scanf("%d %d\n", &m, &n);
    int i, j, k;
    for(i=1; i<=m; i++) for(j=1; j<=n; j++) scanf("%d", &a[i][j]);
    for(k=1; k<=m; k++) for(i=1; i<n; i++)
    if (a[k][i] == 1) for(j=i+1; j<=n; j++)
    if (a[k][j] == 1) cnt[i][j]++;
    for(i=1; i<n; i++) for(j=i+1; j<=n; j++) res += (cnt[i][j] * (cnt[i][j] - 1)) >> 1;
    printf("%lld", res);
    return 0;
}

Download