题解:P10265 [GESP样题 七级] 迷宫统计
思路:
首先看题,让我们求迷宫
先看迷宫
其实就是让我们看当历遍的迷宫是
由此得出代码:
for(int i=1;i<=n;i++){
if(jz[m][i]==1){ // 我们只用查看 m 迷宫有多少个 1
sum1++;
}
}
然后我们看多少迷宫可以直接到达
其实就是查看有多少个迷宫的
由此得出代码:
for(int i=1;i<=n;i++){
if(jz[i][m]==1)sumzj++;
}
让我们看一下这两份代码循环的条件是不是相同的?
是对吧,由此合并两份代码:
for(int i=1;i<=n;i++){
if(jz[m][i]==1){
sum1++;
}
if(jz[i][m]==1)sumzj++;
}
最后看这些迷宫的总和,没有坑直接输出就行。
完整代码
#include<bits/stdc++.h>
using namespace std;
bool jz[1001][1001];
long long sumzj;
long long sum1;
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>jz[i][j];
}
}
for(int i=1;i<=n;i++){
if(jz[m][i]==1){
sum1++;
}
if(jz[i][m]==1)sumzj++;
}
cout<<sum1<<" "<<sumzj<<" "<<sum1+sumzj;
return 0;
}