柜[非正解]
来源:互联网 发布:nemo软件好用么 编辑:程序博客网 时间:2024/04/28 15:34
参考网上的题解
非正解
正反搜一遍
交汇的地方就能放镜子
#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<queue>#include<vector>#include<climits>#include<string>#include<cstdlib>#include<ctime>#define MOD 1000000007#define LL long longusing namespace std;int dx[5]={0,-1,1,0,0},dy[5]={0,0,0,-1,1},dir1[5]={0,4,3,2,1},dir2[5]={0,3,4,1,2};int r,c,map[7005][7005],vis[7005][7005],tot,ansx,ansy;bool dfs1(){ int x=1,y=1,d=4; while(1) { vis[x][y]=1; if(map[x][y]==1) d=dir1[d]; if(map[x][y]==2) d=dir2[d]; x+=dx[d]; y+=dy[d]; if((x==0)||(x==r+1)||(y==0)||(y==c+1)) break; } if(((x==r+1&&y==c)||(x==r&&y==c+1))&&d==4) return true; return false;}void dfs2(){ int x=r,y=c,d=3; while(1) { if((vis[x][y])&&(!map[x][y])) { tot++; if(x<ansx||(x==ansx&&y<ansy)) { ansx=x; ansy=y; } } if(map[x][y]==1) d=dir1[d]; if(map[x][y]==2) d=dir2[d]; x+=dx[d]; y+=dy[d]; if((x==0)||(x==r+1)||(y==0)||(y==c+1)) break; }}void work(){ if(dfs1()) { printf("0\n"); return; } dfs2(); if(tot) printf("%d %d %d\n",tot,ansx,ansy); else printf("-1\n");}int main(){ freopen("safe.in","r",stdin); freopen("safe.out","w",stdout); int m,n,i,rr,cc; while(scanf("%d%d%d%d",&r,&c,&m,&n)!=EOF) { memset(map,0,sizeof(map)); memset(vis,0,sizeof(vis)); tot=0; ansx=r; ansy=c; for(i=1;i<=m;i++) { scanf("%d%d",&rr,&cc); map[rr][cc]=1; } for(i=1;i<=n;i++) { scanf("%d%d",&rr,&cc); map[rr][cc]=2; } work(); } return 0;}
阅读全文
0 0
- 柜[非正解]
- hdu_5683_zxa and xor(非正解的暴力)
- dan[非正解 搜索+卡时可AC]
- hdu5823 color II 【状压dp(非正解)】
- BZOJ3110 K大数查询 【线段树 + 整体二分 或 树套树(非正解)】
- sb正解
- 正解TDD
- ThreadLocal 正解
- 编程正解
- 以德报怨正解
- 汇编指令ret正解
- 宏定义正解
- 存储过程正解
- 正解 -- 分月饼
- inline函数正解。
- inline函数正解
- sqlserver2000分页正解
- phpMyAdmin未能正解显示
- Token验证学习笔记
- Spark编程模型(上)--编程模型及SparkShell实战
- 常量指针与指针常量的区别(转帖)
- Java动态拼接SQL--02--Jpa
- 在线markdown转html+代码高亮
- 柜[非正解]
- 6.多线程的同步与互斥
- 关于mysql-connector-odbc-5.1.13-win32.msi安装成功后,ODBC数据源管理器无法显示该MySql驱动的问题解决
- Java中的Filter过滤器
- JavaScript常用代码总结一
- Learn git with bitbucket-cloud
- fastJson使用实例
- python 网络编程中遇到的问题
- java 数据结构之Vetor