#include<iostream> #include<cstdio> #include<bitset> usingnamespace std; constint N = 2e3 + 10; int n, res; bitset <N> d[N]; intmain() { char c; cin >> n; for (int i = 1; i <= n; i++) for (int j = 1; j <= n; j++) { cin >> c; if (c == '1' || i == j) d[i][j] = true; } for (int k = 1; k <= n; k++) for (int i = 1; i <= n; i++) if (d[i][k]) d[i] |= d[k]; for (int i = 1; i <= n; i++) res += d[i].count(); cout << res; return0; }
Gitalk 加载中 ...