Light OJ 1012
来源:互联网 发布:淘宝代购是不退换的吗 编辑:程序博客网 时间:2024/05/22 07:04
题比较水,就直接上代码了。
#include<cstdio>#include<iostream>#include<cstring>#include<queue>using namespace std;int ans,W,H;typedef struct position{ int x,y;}pos;pos S;queue<pos> Q;char G[22][22];bool vis[22][22];int dx[4]={-1,0,1,0};int dy[4]={0,-1,0,1};bool is_not(int x,int y){ if(x<=0 || y <=0 || x >H|| y >W || vis[x][y] || G[x][y]=='#') return true; else return false;}void bfs(){ int i; memset(vis,0,sizeof(vis)); Q.push(S); vis[S.x][S.y]=1; pos now,tmp; while(!Q.empty()) { now=Q.front(); Q.pop(); for(i=0;i<4;i++) { tmp.x=now.x+dx[i],tmp.y=now.y+dy[i]; if(is_not(tmp.x,tmp.y)) continue; vis[tmp.x][tmp.y]=1; Q.push(tmp); ans++; } //printf("%d\n",ans); }}int main(){ int T,t,i,j,k; scanf("%d",&T); for(t=1;t<=T;t++) { scanf("%d%d",&W,&H); getchar(); char ch; for(i=1;i<=H;i++) { for(j=1;j<=W;j++) { scanf("%c",&G[i][j]); if(G[i][j]=='@') S.x=i,S.y=j; } getchar(); } /* for(i=1;i<=H;i++) { for(j=1;j<=W;j++) printf("%c",G[i][j]); printf("\n"); } printf("%d %d",S.x,S.y);*/ ans=0; bfs(); printf("Case %d: %d\n",t,ans+1); } return 0;}
0 0
- Light OJ 1012
- Light OJ 1012
- light oj
- light oj
- Light OJ
- Light OJ
- light oj 1012 Guilty Prince(dfs )
- Light OJ 1000
- Light OJ 1001
- Light OJ 1008
- Light OJ 1022
- Light OJ 1015
- Light OJ 1042
- light oj 1128
- Light OJ 1055 BFS
- Light OJ Beginners Problems
- Light OJ Basic Geometry
- Light OJ Basic Math
- UIPickUP
- 大数据--世界杯
- 解决dedecms在php 5.4下标题不能为空,中文修改显示空白错误
- 一直都在混,是认真的时候了
- Git 基本原理与常用命令
- Light OJ 1012
- Swift 中的常量和变量
- Light OJ 1224
- 猴子吃枣-杨辉三角-星星塔-公约数
- thinkphp使用ajax、jquery、Mysql实现了简单的客户端通信功能
- IOS学习笔记16——Core Data
- 大明A+B
- mysql5.5一键安装脚本
- java3:类型转换(type casting)