为什么把数组开全局就AC了?
AC代码:
/*
*/
#include<bits/stdc++.h>
#define itn int
#define el endl
using namespace std;
long long sum;
char c[1005][1005];
int main(){
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++){
for(itn j=0;j<m;j++){
cin>>c[i][j];
}
}
for(int i=0;i<n;i++){
for(itn j=0;j<m;j++){
if(c[i][j]=='h'){
if(c[i+1][j]=='e'&&c[i+2][j]=='h'&&c[i+3][j]=='e'){
sum++;
}
if(c[i][j+1]=='e'&&c[i][j+2]=='h'&&c[i][j+3]=='e'){
sum++;
}
if(c[i-1][j]=='e'&&c[i-2][j]=='h'&&c[i-3][j]=='e'){
sum++;
}
if(c[i][j-1]=='e'&&c[i][j-2]=='h'&&c[i][j-3]=='e'){
sum++;
}
}
}
}
cout<<sum;
return 0;
}
10分代码:
/*
*/
#include<bits/stdc++.h>
#define itn int
#define el endl
using namespace std;
long long sum;
int main(){
int n,m;
cin>>n>>m;
char c[n][m];
for(int i=0;i<n;i++){
for(itn j=0;j<m;j++){
cin>>c[i][j];
}
}
for(int i=0;i<n;i++){
for(itn j=0;j<m;j++){
if(c[i][j]=='h'){
if(c[i+1][j]=='e'&&c[i+2][j]=='h'&&c[i+3][j]=='e'){
sum++;
}
if(c[i][j+1]=='e'&&c[i][j+2]=='h'&&c[i][j+3]=='e'){
sum++;
}
if(c[i-1][j]=='e'&&c[i-2][j]=='h'&&c[i-3][j]=='e'){
sum++;
}
if(c[i][j-1]=='e'&&c[i][j-2]=='h'&&c[i][j-3]=='e'){
sum++;
}
}
}
}
cout<<sum;
return 0;
}