栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 1144 Robbery

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 1144 Robbery

#include<cstdio>#include<cstring>int w,h,t;bool g[110][110][110];int num[110],xx[110],yy[110];int ok(int t,int x,int y,int f){if(x>1&&!g[t+f][x-1][y])return 0;if(x<w&&!g[t+f][x+1][y])return 0;if(y>1&&!g[t+f][x][y-1])return 0;if(y<h&&!g[t+f][x][y+1])return 0;if(!g[t+f][x][y])return 0;return 1;}int main(){int pro=0;while(scanf("%d%d%d",&w,&h,&t),w||h||t){int n,out=0;scanf("%d",&n);memset(g,0,sizeof(g));memset(num,0,sizeof(num));for(int i=1;i<=n;i++){int t,a,b,c,d;scanf("%d%d%d%d%d",&t,&a,&b,&c,&d);for(int y=a;y<=c;y++)for(int z=b;z<=d;z++)g[t][y][z]=1;}printf("Robbery #%d:n",++pro);for(int k=2;k<=t;k++)for(int i=1;i<=w;i++)for(int j=1;j<=h;j++){if(!g[k][i][j]&&ok(k,i,j,-1))g[k][i][j]=1;}for(int i=1;i<=w;i++)for(int j=1;j<=h;j++){if(!g[t][i][j]){num[t]++;xx[t]=i,yy[t]=j;}}if(num[t])out=1;for(int k=t-1;k>=1;k--)for(int i=1;i<=w;i++)for(int j=1;j<=h;j++)if(!g[k][i][j]&&ok(k,i,j,1))g[k][i][j]=1;for(int k=1;k<=t-1;k++)for(int i=1;i<=w;i++)for(int j=1;j<=h;j++){if(!g[k][i][j]){num[k]++;xx[k]=i,yy[k]=j;}}if(!out)printf("The robber has escaped.n");else{int flag=0;for(int i=1;i<=t;i++){if(num[i]==1){flag=1;printf("Time step %d: The robber has been at %d,%d.n",i,xx[i],yy[i]);}}if(!flag)printf("Nothing known.n");}puts("");}return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/379670.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号