先把问题抛出来:next 是不是 c++ 的关键词?
这个程序可以编译:
#include <iostream>
using namespace std;
int a[110][110],n,m,startx,starty,ans;
int Next[4][2]={{1,0},{0,1},{-1,0},{0,-1}};
void dye(int x,int y){
ans++; a[x][y]=-1;
for(int i=0;i<4;i++){
int tx=x+Next[i][0],ty=y+Next[i][1];
if(a[tx][ty]>0)
dye(tx,ty);
}
}
int main(){
cin>>n>>m>>startx>>starty;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>a[i][j];
dye(startx,starty);
cout<<ans<<endl;
return 0;
}
但这个不可以(注意,代码中的 Next变成了next):
#include <iostream>
using namespace std;
int a[110][110],n,m,startx,starty,ans;
int next[4][2]={{1,0},{0,1},{-1,0},{0,-1}};
void dye(int x,int y){
ans++; a[x][y]=-1;
for(int i=0;i<4;i++){
int tx=x+next[i][0],ty=y+next[i][1];
if(a[tx][ty]>0)
dye(tx,ty);
}
}
int main(){
cin>>n>>m>>startx>>starty;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>a[i][j];
dye(startx,starty);
cout<<ans<<endl;
return 0;
}
所以 next 是不是 c++ 的关键词?