#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個街道。現在要建乙個郵局,使...