题目名称
十字激光炮
题目描述
输入一个行列的矩阵地图,表示该位置上有一名敌人,表示该位置上没有敌人。先在地图某位置上部署一门十字激光炮,使得可以消灭与它在同一行、同一列格子上的敌人(包括激光炮位置上的敌人)。统计激光炮一炮一共可以消灭多少敌人。
输入格式
第一行两个整数和,表示地图的行数和列数。
第二行开始输入行列的矩阵地图,每行各数字之间空格隔开。
最后一行两个整数和,表示激光炮部署位置的行数和列数。
输出格式
一个整数,表示消灭的敌人总数。
样例数据
样例输入#1
5 5
0 0 0 0 0
0 1 0 0 0
0 1 1 1 0
0 1 1 1 1
1 1 1 1 1
3 2
样例输出#1
6
数据范围
对100%的数据,
代码样例
#include <bits/stdc++.h>
using namespace std;
int n,m,x,y,a[1005][1005];
int main() {
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
cin>>x>>y;
int s=0;
for(int i=1;i<=m;i++){
if(a[x][i]==1){
s++;
}
}
int z=0;
for(int i=1;i<=n;i++){
if(a[i][y]==1){
z++;
}
}
int sum;
if(a[x][y]==0){
sum=s+z;
}else{
sum=s+z-1;
}
cout<<sum;
return 0;
}
不要忘记激光炮的位置上有敌人时。