Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>using namespace std;#define D 8int dir[][2] = {{0,1},{0,-1},{-1,0},{1,0},{1,1},{1,-1},{-1,1},{-1,-1}};int main(){int t;cin >> t;while(t --){int N,M;cin >> N >> M;int maze[N][M],tag[N][M];for(int i = 0;i < N;i ++){for(int j = 0;j < M;j ++){cin >> maze[i][j];tag[i][j] = 0;}}for(int i = 0;i < N;i ++){for(int j = 0;j < M;j ++){if(maze[i][j] == 0){for(int k = 0;k < D;k ++){int n = dir[k][0] + i,m = dir[k][1] + j;if(n >= 0 && n < N && m >= 0 && m < M && maze[n][m] == -1)tag[n][m] = -1;}}}