#include <bits/stdc++.h>
using namespace std;
#define MAXN 2001
int n, cnt;
char ch;
bitset<MAXN> a[MAXN];
bool get(){
char ch(getchar());
while (ch != '1' && ch != '0') ch = getchar();
return ch^48;
}
int main(){
scanf("%d", &n);
for (int i(1); i<=n; ++i){
for (int j(1); j<=n; ++j) a[i].set(j, get());
}
for (int j(1); j<=n; ++j){
for (int i(1); i<=n; ++i){
if (a[i].test(j)) a[i] |= a[j];
}
}
for (int i(1); i<=n; ++i){
for (int j(1); j<=n; ++j) cnt += a[i].test(j);
}
printf("%d", cnt);
return 0;
}
样例一过,代码就错。
有人说 cin 有问题,我就改成了 getchar,但是还是错……