P2356 弹珠游戏
P2356 弹珠游戏
分析
对于某个位置为0的所在行和所在列求和,并求最大值,本题的关键如何快速求是这n*n(最多10000)个值,在输入时预处理每行每列敌人的数量。
#includeusing namespace std; const int Maxn=1010; struct xy{ int x; int y; } XY[Maxn*10];//能击杀的敌人的位置 int L[Maxn],R[Maxn]; int main() { int n; cin>>n; int k=0; for (int i=1;i<=n;i++) { for (int j=1;j<=n;j++) { int a; cin>>a; if (a==0) { XY[k].x=i; XY[k].y=j; k++; } L[i]+=a;//统计每行的敌人数量 R[j]+=a;//统计每列的敌人数量 } } if(k==0)//没有能击杀的敌人的位置 { cout<<"Bad Game"<