#include
#define huadian 1
#define wenjudian 2
#define tiyu 3
#define max 9
void nearst(int x,int y,int type); //最近演算法
void check1(int x,int y,int x1,int y1,int type); //搜尋周圍可能最近的商店
void check2(int x,int y,int x1,int y1,int type); //確定最近的商店
int s[max+1][max+1]=; //用二維陣列模擬的座標
int min=65535;
void main(void)
void nearst(int x,int y,int type)
/*從x2 y2 開始轉圈*/
y1=++y2;
x1=x2;
for(;x1>=x-i && x1>=0 && x1<=max;x1--)
check2(x,y,x1,y1,type);
for(x1++,y1++;y1<=y+i && y1>=0 && y1<=max;y1++)
check2(x,y,x1,y1,type);
for(y1--,x1++;x1<=x+i && x1>=0 && x1<=max;x1++)
check2(x,y,x1,y1,type);
for(x1--,y1--;y1>=y2 && y1>=0 && y1<=max;y1--)
check2(x,y,x1,y1,type);
for(y1++,x1--;x1>x2 && x1>=0 && x1<=max;x1--)
check2(x,y,x1,y1,type);
}void check1(int x,int y,int x1,int y1,int type) //搜尋可能最近的商店
}
搜尋 蟲食算
p1135 蟲食算 noip 時間限制 10000 ms 空間限制 65536 kb 問題描述 所謂蟲食算,就是原先的算式中有一部分被蟲子啃掉了,需要我們根據剩下的數字來判定被啃掉的字母。來看一個簡單的例子 43 9865 045 8468 6633 44445506978 其中 號代表被蟲子啃掉的...
隨機搜尋(Random Searching)演算法
個人理解,隨機搜尋是一種在巨大資料規模下執行一個耗時上無法接受的程式的優化方法。它可以用以對一個搜尋演算法施展優化的前提是 1 資料規模大,精確的結果難以在一定時間計算出。2 結果的些許的不精確能夠被接受。3 求取的結果是最優化 optimization 問題,有一個成本計算模型。以上自己總結,歡迎...
演算法摘記 最近公共祖先LCA Tarjan演算法
在求解最近公共祖先為問題上,用到的是tarjan的思想,從根結點開始形成一棵深搜樹,非常好的處理技巧就是在回溯到結點u的時候,u的子樹已經遍歷,這時候才把u結點放入合併集合中,這樣u結點和所有u的子樹中的結點的最近公共祖先就是u了,u和還未遍歷的所有u的兄弟結點及子樹中的最近公共祖先就是u的父親結點...
noip 蟲食算 搜尋
描述 所謂蟲食算,就是原先的算式中有一部分被蟲子啃掉了,需要我們根據剩下的數字來判定被啃掉的字母。來看一個簡單的例子 43 9865 045 8468 6633 44445506678 其中 號代表被蟲子啃掉的數字。根據算式,我們很容易判斷 第一行的兩個數字分別是5和3,第二行的數字是5。現在,我們...
蟲食算(搜尋 剪枝)
題意 給一個3個n進位制的有n個字母組成的序列,使第一個數列和第二個數列加起來等於第三個數列的情況成立。蒟蒻調了一上午 半下午 感覺我碼力極差 考慮一個剪枝,比如a,b,c的情況,要麼是 a b n c,要麼是 a b 1 n c 考慮了進位 感覺我打麻煩了 其實不太適合參考 include inc...