#20271: 測資問題


rollfc (點石學園 StoneCampus)


引述題目的規則:『水滴會向周圍八個點中更低而且最低的那個高度進行流動,如果沒有更低的點或者已經流過的,則停止流動。』
這題的測資中並未提到一種情況:周圍8格中出現的最低值不一定是唯一的, 可能有兩格都是一樣的, 導致搜尋時的順序會影響最終結果。

這邊提供AC版本的搜尋順序, 避免有人耗費太多時間在這種無意義的錯誤:

int dx[8]={0,1,1, 1, 0,-1,-1,-1};
int dy[8]={1,1,0,-1,-1,-1, 0, 1};

#46508: Re: 測資問題


rsj00008 (西加008)


引述題目的規則:『水滴會向周圍八個點中更低而且最低的那個高度進行流動,如果沒有更低的點或者已經流過的,則停止流動。』
這題的測資中並未提到一種情況:周圍8格中出現的最低值不一定是唯一的, 可能有兩格都是一樣的, 導致搜尋時的順序會影響最終結果。

這邊提供AC版本的搜尋順序, 避免有人耗費太多時間在這種無意義的錯誤:

int dx[8]={0,1,1, 1, 0,-1,-1,-1};
int dy[8]={1,1,0,-1,-1,-1, 0, 1};

================ 但我用下列的才AC
int dx[8]={-1, 0, 1,1,1,0,-1,-1};
int dy[8]={-1,-1,-1,0,1,1, 1, 0};