NYOJ 7 街區最短路徑問題

2021-06-19 12:42:04 字數 1022 閱讀 3670

#include#include#includeint a[30], b[30],c[110][110], c1[110][110], e[30], f[30];

//a陣列存的是橫座標 b陣列存的是縱座標 因為要對a和b陣列排序 所以有新增兩個陣列e和f儲存未排序時的a與b陣列

//c陣列是乙個矩陣 c1陣列是來記錄該位置是否被訪問過

struct md[1500];//廣蒐時用到的佇列 稍微開大點 我開始時開的有點小了

int cmp(const void *a, const void *b)//快速排序用到的乙個函式

void bfs(int x, int y, int m)//廣搜函式

//先判斷由中位數得到的位置是不是已經有使用者住,有的話計數器count加一

while(count != m)//當搜到所有的使用者全部搜到時結束搜尋

if(d[front].l + 1 < 105 && c1[d[front].l + 1][d[front].k] != 1)

if(d[front].k - 1 >= 0 && c1[d[front].l][d[front].k - 1] != 1)

if(d[front].k + 1 < 105 && c1[d[front].l][d[front].k + 1] != 1)

front++; }

}int f1(int m, int *e)//這個函式就是把使用者所處矩陣各個位置相加

return sum;

}int main()

qsort(a, m, sizeof(int), cmp);//快速排序

qsort(b, m, sizeof(int), cmp);

if(m % 2)

else

}return 0;

}

好吧,我自己感覺自己解釋的就不清晰   大家人為應該怎麼寫題解更好 可以給我下建議  下回我會注意!

NYOJ 7 街區最短路徑問題

描述 乙個街區有很多住戶,街區的街道只能為東西 南北兩種方向。住戶只可以沿著街道行走。各個街道之間的間隔相等。用 x,y 來表示住戶坐在的街區。例如 4,20 表示使用者在東西方向第4個街道,南北方向第20個街道。現在要建乙個郵局,使得各個住戶到郵局的距離之和最少。求現在這個郵局應該建在那個地方使得...

NYOJ 7 街區最短路徑問題

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 乙個街區有很多住戶,街區的街道只能為東西 南北兩種方向。住戶只可以沿著街道行走。各個街道之間的間隔相等。用 x,y 來表示住戶坐在的街區。例如 4,20 表示使用者在東西方向第4個街道,南北方向第20個街道。現在要建乙個郵局,使...

nyoj 7 街區最短路徑問題

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 乙個街區有很多住戶,街區的街道只能為東西 南北兩種方向。住戶只可以沿著街道行走。各個街道之間的間隔相等。用 x,y 來表示住戶坐在的街區。例如 4,20 表示使用者在東西方向第4個街道,南北方向第20個街道。現在要建乙個郵局,使...