(1)以下语句中把now.y<m错写为now.x<m:
if(now.x>=0 && now.x<n && now.y>=0 && now.x<m && mark[now.x][now.y])
(2)以下语句只是把新加的排了序,没有把head..flag-1这段数据参与排序:
qsort(&d[flag],rear-flag,sizeof(elem),cmp);
第1个错误可用以下用例揭示:
4 2
.X
21
2X
2.
但第2个错误很难找到用例。
另外,函数prin1可改为void。以下是修改后AC的代码: