usaco Overfencing
来源:互联网 发布:油耗计算器软件 编辑:程序博客网 时间:2024/04/30 05:51
思路很简单,就是从两个出口对每个点进行一次bfs,结果各种各种问题被各种虐。。。。。
code:
/* ID:yueqi LANG:C++ TASK:maze1*/#include <set>#include <map>#include <ctime>#include <queue>#include <cmath>#include <stack>#include <limits.h>#include <vector>#include <bitset>#include <string>#include <cstdio>#include <cstring>#include <fstream>#include <string.h>#include <iostream>#include <algorithm>#define Si set<int>#define LL long long#define pb push_back#define PS printf(" ")#define Vi vector<int>#define LN printf("\n")#define lson l,m,rt << 1#define rson m+1,r,rt<<1|1#define SD(a) scanf("%d",&a)#define PD(a) printf("%d",a)#define SET(a,b) memset(a,b,sizeof(a))#define FF(i,a) for(int i(0);i<(a);i++)#define FD(i,a) for(int i(a);i>=(1);i--)#define FOR(i,a,b) for(int i(a);i<=(b);i++)#define FOD(i,a,b) for(int i(a);i>=(b);i--)#define readf freopen("maze1.in","r",stdin)#define writef freopen("maze1.out","w",stdout)const int maxn = 500;const long long BigP=999983;const long long INF = 0x5fffffff;const int dx[]={-1,0,1,0};const int dy[]={0,1,0,-1};const double pi = acos(-1.0);const double eps= 1e-7;using namespace std;int x[2],y[2];char s[210][100];int q[20000][2],maxx,dis[2][210][100];bool t[2][210][100];void bfs(int x, int y, int n, int m, int h){ int start=0,end=1; q[start][0] = x; q[start][1] = y; dis[h][x][y] = 1; t[h][x][y] = 1; while(start!=end){ x=q[start][0],y=q[start][1]; FF(i,4){ int nx=x+dx[i],ny=y+dy[i]; if (nx>=0&&nx<n&&ny>=0&&ny<m&&!t[h][nx][ny]&&s[nx][ny]==' '){ q[end][0]=nx; q[end][1]=ny; dis[h][nx][ny]=dis[h][x][y]+1; t[h][nx][ny]=true; end++; } }start++; }}int main(){ readf;writef; int n,m,k=0; scanf("%d%d",&n,&m); getchar(); n=n*2+1;m=m*2+1; FF(i,m){ FF(j,n){ scanf("%c", &s[i][j]); if (s[i][j]==' '&&(i==0||i==m-1||j==0||j==n-1)){ x[k] = i, y[k++] = j; } }getchar(); } bfs(x[0],y[0],m,n,0); bfs(x[1],y[1],m,n,1); FF(i,m) FF(j,n) maxx=max(maxx,min(dis[0][i][j], dis[1][i][j])); printf("%d\n", maxx/2); return 0;}
- usaco-Overfencing
- usaco overfencing
- usaco Overfencing
- USACO:Overfencing
- USACO-Overfencing
- USACO Overfencing
- USACO-Overfencing
- USACO 2.1 Overfencing 题解
- USACO 2.4.3 Overfencing
- 【搜索】【USACO】Overfencing
- USACO:Overfencing解题报告
- USACO / Overfencing(BFS)
- USACO Overfencing,BFS,FloodFill
- Usaco 2.4Overfencing(BFS)
- USACO 2.4 Overfencing (maze1)
- USACO--2.4Overfencing
- USACO 2.4 Overfencing (BFS)
- USACO Overfencing 穿越栅栏
- android recovery模式及ROM制作
- tomcat关不掉的原因
- JSP 带竖直和水平滚动条的表格,找了好几天,还不如自己写一个。
- 浅谈PADS中的ECO
- JAVA 一些基础知识1
- usaco Overfencing
- 易错点
- python __name__ == '__main__'
- SQL2008 ReportService的使用
- 总结几种结构体初始化方法
- JAVA一些基础知识2
- Java泛型——通配符和Object的区别
- 几个在windows下的inux软件开发系统
- PADS中遇到的问题-EMSYM昂信科技