ccf 201604-4游戏
来源:互联网 发布:天谕男玉虚捏脸数据 编辑:程序博客网 时间:2024/05/15 07:33
任一时间t的可能位置=t-1所有可能位置移动一步的有效位置
#include<iostream>#include<set>using namespace std;class tim{ public: int a,b; tim(){a=b=-1;}};class dex{ public: int r,c; dex(int x,int y) {r=x;c=y;} dex() {r=0;c=0;} bool operator<(const dex v)const{ return r<v.r || (r==v.r && c<v.c);}};tim all[105][105];int n,m,t;int _min=9999+m*n;set<dex> ww[2];int main(){ cin>>n>>m>>t; int r,c,a,b; while(t--){ cin>>r>>c>>a>>b; all[r][c].a=a; all[r][c].b=b; } dex x; x.c=x.r=1; ww[0].insert(x); x.r=n;x.c=m; int t=0;int f=0; while(ww[f].find(x)==ww[f].end()){ ++t; int g=(f+1)&1; for(set<dex>::iterator it=ww[f].begin();it!=ww[f].end();it++){ int xx=it->r+1,yy=it->c; if(xx>0 && xx<=n && yy>0 && yy<=m && (t< all[xx][yy].a || t>all[xx][yy].b)) ww[g].insert(dex(xx,yy)); xx=it->r-1; if(xx>0 && xx<=n && yy>0 && yy<=m && (t< all[xx][yy].a || t>all[xx][yy].b)) ww[g].insert(dex(xx,yy)); xx=it->r,yy=it->c+1; if(xx>0 && xx<=n && yy>0 && yy<=m && (t< all[xx][yy].a || t>all[xx][yy].b)) ww[g].insert(dex(xx,yy)); xx=it->r,yy=it->c-1; if(xx>0 && xx<=n && yy>0 && yy<=m && (t< all[xx][yy].a || t>all[xx][yy].b)) ww[g].insert(dex(xx,yy)); } ww[f].clear(); f=g; } cout<<t<<endl;}
阅读全文
0 0
- CCF 201604-4 游戏
- ccf 201604-4 游戏
- CCF 201604-4 游戏
- ccf 201604-4游戏
- CCF 201604-4 游戏
- CCF 201604-4游戏
- 201604-4 游戏 ccf
- ccf 认证 201604-4:游戏
- CCF-201604-4 游戏(三维BFS)
- CCF考试——201604-4游戏
- CCF 习题 201604-4游戏 (BFS -- 三维vis数组)
- CCF-CSP 游戏 JAVA 201604-4 100分
- CCF 游戏
- ccf 游戏
- CCF游戏
- ccf 游戏
- CCF 201604-04 游戏 BFS+时间限制
- CCF 消除类游戏
- KNN算法(MATLAB实践)
- MySQL存储引擎 / MySQL字符集 / MySQL分片 / mysql 存储量
- 直白解读linux下pthread的简单操作
- ssh框架整合开发
- MyBatis实现Mysql数据库分库分表操作和总结
- ccf 201604-4游戏
- Google面试题:M-One Edit Distance
- 汇编--条件跳转指令
- Java String Split()用法小结
- MongoDB 备份与恢复
- 配置文件log4j详解
- shell中$(( )) 与 $( ) 还有${ }的区别
- 自动化基础普及之selenium是啥?
- 多线程(互斥锁、读写锁、条件变量、信号量、自旋锁)相关