深入遍历
同行、列遍历
for(int i=1;i<n;i++)
cout<<a[i][4]; // 遍历第4列所有元素
for(int j=1;j<n;j++)
cout<<a[3][j]; // 遍历第3行所有元素
八邻域
八邻域 |
j-1 |
j |
j+1 |
i-1 |
a[i-1][j-1] |
a[i-1][j] |
a[i-1][j+1] |
i |
a[i][j-1] |
a[i][j] |
a[i][j+1] |
i+1 |
a[i+1][j-1] |
a[i+1][j] |
a[i+1][j+1] |
棋盘题模板
#include<bits/stdc++.h>
using namespace std;
int a[21][21];
int main(){
int s=0,maxn=0,ans=0,f=0;
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(a[i][j]==8){
// 找八邻域是否有其他国王
}
}
}
cout<<cnt;
return 0;
}
幸存的车
#include<bits/stdc++.h>
using namespace std;
int a[21][21];
int main(){
int cnt=0,f=0;
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(a[i][j]==9){
for(int k=1;k<=m;k++){
if(a[i][k]==9 && k!=j) f=1;
}
if(f){f=0;break;}
for(int k=1;k<=n;k++){
if(a[k][j]==9 && k!=i) f=1;
}
if(f==0)cnt++;
else f = 0;
}
}
}
cout<<cnt;
return 0;
}