Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<bits/stdc++.h>using namespace std;queue<int> q;int N,M,num;int matrix[101][101][4];string s[110];int oneGrid(int x,int y,int z,int a){int i,j,k,l;k=(x<<12)+(y<<2);if(s[x][y]==' '){matrix[x][y][0]=matrix[x][y][1]=matrix[x][y][2]=matrix[x][y][3]=a;q.push(k+0);q.push(k+1);q.push(k+2);q.push(k+3);}else{j=s[x][y]=='/'?1:3;matrix[x][y][z]=a;matrix[x][y][z xor j]=a;q.push(k+z);q.push(k+(z xor j));}return 0;}int walk(int u){int x=u>>12,y=(u>>2)&1023,z=u&3;int x1,y1,z1;switch(z){case 0:{