原来的'/n'被替换为' ',改了一下。 #include < iostream > #include < vector > using namespace std; const int N = 4 ;vector < vector < int > > grass; int m,n; struct Point ... { int row,col;} ;Point dir[N] = ... {...{1,0},...{0,1},...{-1,0},...{0,-1}} ; bool inGrass(Point p) ... { return p.row >=0 && p.row <m && p.col >=0 && p.col<n;} bool isBeautiful(Point p) ... { for(int i=0;i<N;i++) ...{ Point t; t.row=p.row+dir[i].row; t.col=p.col+dir[i].col; if (inGrass(t)==true && grass[t.row][t.col]==0) return false; } return true;} bool run() ... { cin>>m>>n; if (m==0 && n==0) return false; grass.resize(m); int i,cnt=0; for(i=0;i<m;i++) ...{ grass[i].resize(n); for(int j=0;j<n;j++) ...{ cin>>grass[i][j]; if (grass[i][j]==0) cnt++; } } if (cnt==0)//nums of 0=0 ...{ cout << "No"<<endl; return true; } for(i=0;i<m;i++) ...{ for(int j=0;j<n;j++) if (grass[i][j]==0) ...{ Point t=...{i,j}; if (isBeautiful(t)==false) ...{ cout << "No"<<endl; return true; } } } cout << "Yes"<<endl; return true;} int main() ... { while(run()); return 0;}