FUZoj 2188:过河I【bfs】
来源:互联网 发布:tv直播软件下载 编辑:程序博客网 时间:2024/04/28 08:48
过河I
Time Limit:3000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uDescription
AC-code:<span style="font-family:FangSong_GB2312;font-size:14px;"> #include<cstdio> #include<cstring> #include<queue> using namespace std; struct node { int x,y,step,mark; }p,now; void bfs(int a,int b,int n) { int i,j; int vis[3][205][205]; memset(vis,0,sizeof(vis));now.x=a;now.y=b;now.step=0;now.mark=0; queue<node>q;q.push(now);vis[now.mark][now.x][now.y]=1;while(!q.empty()){p=q.front();if(p.x==a&&p.y==b&&p.mark==1){printf("%d\n",p.step);return ;}q.pop();for(i=0;i<=p.y;i++)//狼 {for(j=0;j<=p.x;j++)//羊 {if(i+j==0)continue;if(j<i&&j)continue;if(i+j>n)continue; now.x=a-p.x+j;now.y=b-p.y+i;now.step=p.step+1;now.mark=!p.mark;if((now.x<now.y&&now.x!=0)||(a-now.x<b-now.y&&a-now.x!=0))continue;if(!vis[now.mark][now.x][now.y]){vis[now.mark][now.x][now.y]=1;q.push(now);}}}}printf("-1\n"); } int main() { int x,y,n; while(scanf("%d%d%d",&x,&y,&n)!=EOF)bfs(x,y,n);return 0; } </span>
0 0
- FUZoj 2188:过河I【bfs】
- FUZoj 过河I 2188 (bfs多条件判断) 好题
- 【BFS】FZOJ 过河I 2188
- FZOJ 2188 过河I(bfs)
- FZU - 2188过河I【BFS】
- (BFS)FZU.Problem 2188 过河I
- fzoj Problem 2188 过河I 【BFS】
- fzu2188 过河I BFS+剪枝
- FZOJ 2188 过河I (确定状态+BFS)
- FZUOJ Problem 2188 过河I(BFS啊)
- FZUOJ 过河I (BFS 好题)
- 【搜索】 FZU 2188 过河I
- FZU 2188 过河I (dp)
- FZU(2188):狼羊过河问题,状态转移,BFS求解
- FZU--2188--过河(bfs暴力条件判断)
- FOJ过河I
- fzu 2188 过河I(有难度的剪枝)
- bfs-poj-Bloxorz I
- 物理内存分配与回收(5)之交换机制
- Java NIO使用及原理分析 (四)
- HDU 2085 核反应堆
- UGUI中按Tab切换InputField
- Remove Duplicates from Sorted Array
- FUZoj 2188:过河I【bfs】
- zzulioj 1841: so easy!麻麻再也不用担心我的数学了! 【规律】
- 《鸟哥的Linux私房菜基础篇》阅读笔记——第6、14章
- GNS下搭建ISISIPv4集成网络环境
- 闪屏(Splash)
- Python拾遗(三)常用的数据类型
- 任我行 安装教程 在线源方式安装 (无需要电脑联接手机)
- 反义字符
- LeetCode 66:Plus One