bzoj3406 [Usaco2009 Oct]Invasion of the Milkweed 乳草的入侵
2017-12-10 09:49
549 查看
题目
BFS经典例题吧。
从起点开始入队,就好了。
值得注意的是,可以向八个方向拓展。。
BFS经典例题吧。
从起点开始入队,就好了。
值得注意的是,可以向八个方向拓展。。
#include<cstdio> struct sb{ int x,y,day }; const int dx[8]={1,0,-1,0,1,-1,-1,1}; const int dy[8]={0,1,0,-1,1,-1,1,-1}; int n,m,mx,my; int r,c; sb hs[20000]; char ch[200][200]; int init() { scanf("%d%d%d%d\n", &m, &n, &mx, &my); r = n - my; c = mx-1; int i; for (i=0;i<n;i++) { gets(ch[i]); } } void bfs (){ int tail=1,head=0; int i; hs[1].x = r, hs[1].y = c, hs[1].day = 0; ch[r][c]='#'; do { head++; for (i=0;i<8;i++) { int cx = hs[head].x + dx[i], cy = hs[head].y + dy[i]; if (cx >=0 && cy >=0 && cx < n && cy < m && ch[cx][cy] =='.') { tail++; hs[tail].x = cx; hs[tail].y = cy; hs[tail].day = hs[head].day+1; ch[cx][cy] = '#'; } } } while (head<tail); printf("%d\n", hs[tail].day); } int main() { freopen("in.txt","r",stdin); init(); bfs(); return 0; }
相关文章推荐
- bzoj 3406: [Usaco2009 Oct]Invasion of the Milkweed 乳草的入侵
- 3406: [Usaco2009 Oct]Invasion of the Milkweed 乳草的入侵
- 3406: [Usaco2009 Oct]Invasion of the Milkweed 乳草的入侵
- BZOJ1575 USACO 2009 Jan Gold 2.The Baric Bovine
- 【BZOJ】3397: [Usaco2009 Feb]Surround the Islands 环岛篱笆(tarjan)
- bzoj3407 [Usaco2009 Oct]Bessie's Weight Problem 贝茜的体重问题
- bzoj 3386 && bzoj 3408: [Usaco2009 Oct]Heat Wave 热浪(最短路)
- bzoj3407 [Usaco2009 Oct]Bessie's Weight Problem 贝茜的体重问题
- bzoj3408 [Usaco2009 Oct]Heat Wave 热浪(Dijkstra裸题)
- BZOJ3408: [Usaco2009 Oct]Heat Wave 热浪
- bzoj1233[USACO2009 Open]Tower of Hay干草金字塔
- BZOJ 3407: [Usaco2009 Oct]Bessie's Weight Problem 贝茜的体重问题( dp )
- bzoj 3397: [Usaco2009 Feb]Surround the Islands 环岛篱笆
- bzoj:3397 [Usaco2009 Feb]Surround the Islands 环岛篱笆
- 【bzoj1727】[Usaco2006 Open]The Milk Queue 挤奶队列 贪心
- Bzoj 3409: [Usaco2009 Oct]Barn Echoes 牛棚回声
- bzoj1670【Usaco2006 Oct】Building the Moat 护城河的挖掘
- BZOJ1727: [Usaco2006 Open]The Milk Queue 挤奶队列
- 【BZOJ3407】[Usaco2009 Oct]Bessie's Weight Problem 贝茜的体重问题【01背包】
- bzoj 3407: [Usaco2009 Oct]Bessie's Weight Problem 贝茜的体重问题(DP)