[BZOJ2464]中山市选[2009]小明的游戏
来源:互联网 发布:淘宝自动充值店 编辑:程序博客网 时间:2024/05/01 13:21
原题地址
刷水ing…
AC code:
#include <cstdio>#include <vector>#include <queue>using namespace std;const int N=501;const int INF=1<<29;int n,m,x1,y1,x2,y2,S,T;int mx[5]={0,1,-1,0,0},my[5]={0,0,0,1,-1},minw[N*N];bool inq[N*N];char s[N][N];struct Data{ int v,w; Data() {} Data(int v,int w):v(v),w(w) {}};vector<Data> G[N*N];int Num(int x,int y){ return (x-1)*m+y;}int Abs(int x){ return x<0?-x:x;}void SPFA(){ queue<int> Q; for(int i=1;i<=Num(n,m);i++) minw[i]=INF; minw[S]=0;Q.push(S); while(!Q.empty()){ int x=Q.front(); Q.pop();inq[x]=0; for(int i=0;i<(int)G[x].size();i++){ int v=G[x][i].v,w=G[x][i].w; if(minw[x]+w>=minw[v]) continue; minw[v]=minw[x]+w; if(!inq[v]){ inq[v]=1; Q.push(v); } } } for(int i=1;i<=Num(n,m);i++) G[i].clear();}int main(){ while(1){ scanf("%d%d",&n,&m); if(n==0&&m==0) break; for(int i=1;i<=n;i++) scanf("%s",s[i]); for(int i=1;i<=n;i++){ for(int j=0;j<m;j++){ for(int k=1;k<=4;k++){ int ii=i+mx[k],jj=j+my[k]; if(ii<1||ii>n||jj<0||jj>=m) continue; G[Num(i,j+1)].push_back(Data(Num(ii,jj+1),s[i][j]==s[ii][jj]?0:1)); } } } scanf("%d%d%d%d",&x1,&y1,&x2,&y2); S=Num(x1+1,y1+1);T=Num(x2+1,y2+1); SPFA(); printf("%d\n",minw[T]); } return 0;}
0 0
- [BZOJ2464]中山市选[2009]小明的游戏
- 【中山市选2009】【BZOJ2464】小明的游戏
- 【bzoj2464】【中山市选2009】【小明的游戏】【spfa】
- BZOJ2464: 中山市选[2009]小明的游戏
- 【BZOJ2464】【中山市选2009】小明的游戏 最短路水过
- BZOJ 2464 中山市选2009 小明的游戏 SPFA
- BZOJ 2464: 中山市选[2009]小明的游戏
- 2464: 中山市选[2009]小明的游戏
- BZOJ 2464 中山市选[2009]小明的游戏 SPFA
- BZOJ[2464]中山市选[2009]小明的游戏 SPFA
- bzoj 2464 中山市选[2009]小明的游戏
- BZOJ 2464 中山市选 2009 小明的游戏 最短路
- bzoj 2464: 中山市选[2009]小明的游戏 最短路
- BZOJ 2464: 中山市选[2009]小明的游戏 简单搜索
- [中山市选] 杀人游戏
- [中山市选2011]杀人游戏
- [中山市选2011]杀人游戏
- bzoj2464
- 阿里云服务器 suse liniux 下安装mysql
- EGit的Configure Fetch from Upstream变灰
- java web一些入门学习经验
- Android开发——Home键监听方法总结
- Memcached介绍和安装
- [BZOJ2464]中山市选[2009]小明的游戏
- 黑马程序员——IO之字符流,字节流,转换流
- hdu-2682Tree(prim+素数打表)
- [LeetCode]5.Longest Palindromic Substring
- C# ListView用法详解
- 异常:android.os.NetworkOnMainThreadException
- Opencv初级图像混合
- 瞎玩 - 一瓶啤酒2块,两个瓶盖送一瓶,四个空瓶换一瓶。20元一共可以喝几瓶
- 欢迎使用CSDN-markdown编辑器