为什么只有第一个测试点过了啊啊啊啊啊
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<ctime>
#include<map>
#include<set>
#include<algorithm>
using namespace std ;
int n ;
int m[2000][2000] ;
int ans = -1 ;
int num ;
void f ( int x , int y ) {
for ( int i = x ; i >= 1 ; i -= 1 ) {
if ( m[i][y] != 0 ) num += m[i][y] ;
}
for ( int j = y ; j >= 1 ; j -= 1 ) {
if ( m[x][j] != 0 ) num += m[x][j] ;
}
if ( num > ans ) ans = num ;
return ;
}
int main () {
cin >> n ;
for ( int i = 1 ; i <= n ; i += 1 ) {
for ( int j = 1 ; j <= n ; j += 1 ) {
cin >> m[i][j] ;
}
}
for ( int i = 1 ; i <= n ; i += 1 ) {
for ( int j = 1 ; j <= n ; j += 1 ) {
if ( m[i][j] == 0 ) {
f ( i , j ) ;
}
}
}
if ( ans == -1 ) cout << "Bad Game!" << endl ;
else cout << ans << endl ;
}