if(!d[i])与if(d[i]==-1) 是完全不一样的, if(d[i])当且仅当d[i]==0时不执行if if(!d[i])表示当且仅当d[i]==0时执行, 所以走迷宫时,没有被走过表示为d[][]==-1而不是!d[][]