這道題是乙個\(dfs\)(深度優先搜尋 \(depth\)
\(frist\)
\(sreach\))的題目,可是…我就是不想敲遞迴(我絕對不會告訴你我是想偷懶的),於是就有了這個程式和這篇題解……
首先,這是乙個二維的題目,要尋找8個方向,如下圖所示:
(-1,-1)
(-1, 0)
(-1, 1)
( 0,-1)
在這向八個方向尋找
( 0,1)
(1,-1)
(1,0)
(1,1)
所以,要預處理八個方向:
int dx[8]=;
int dy[8]=;
還有,這題還需要做乙個染色處理,碰到符合情況的就將其染色,於是:
bool t[101][101];
於是預處理就搞定了。
#includeusing namespace std;
int n;
bool t[101][101];
char w[101][101],d="yizhong";
int dx[8]=;
int dy[8]=;
接下來你們一定會以為我會寫\(dfs\)函式,然而,並非如此。
接下來就愉快的開始\(main( )\)主函式吧!
int main()
}if(tf)//符合情況
for(int j=0;j<=6;j++)
t[x+dx[i]*j][y+dy[i]*j]=1;//染色
}for(int i=1;i<=n;i++)//輸出
;int dy[8]=;
int main()
}if(tf)
for(int j=0;j<=6;j++)
t[x+dx[i]*j][y+dy[i]*j]=1;
}for(int i=1;i<=n;i++)
,,,,,,,};
bool dfs(int x,int y,int p,int s)
return 0;
}int main()
}for(int i=1;i<=n;i++)
,,,,,,,};
bool dfs(int x,int y,int p,int s)
else if(!t[x][y])
else return 1;}}
return 0;
}int main()} }
for(int i=1;i<=n;i++)
cout<}
return 0;
}```
題解到此為止,謝謝[鞠躬]!
景點中心 蒟蒻的小題解
話說寧波市的中小學生在鎮海中學參加計算機程式設計比賽,比賽之餘,他們在鎮海中學的各個景點參觀。鎮海中學共有n個景點,每個景點均有若干學生正在參觀。這n個景點以自然數1至n編號,每兩個景點的編號均不同。每兩個景點之間有且只有一條路徑。選擇哪個景點集中的學生,才能使所有學生走過的路徑之和最小呢?如果存在...
P1101 單詞方陣 題解
洛谷 p1101 單詞方陣 題目描述 給一n n的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著 8 個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間可以交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。輸入 第...
蒟蒻複習之 Floyd
暴力無解演算法 入門必備 然而我發現這個簡單的演算法還有很多用法 作為複習篇不講原理 圖的要求 既可以是無向圖也可以是有向圖,邊權可以為負,但是不能存在負環 複雜度為o n 3 原理 dp思路 f i j f i k f k j void floyd 注意 1應對所建的圖進行初始化如下 void i...