URAL 1008 - Image Encoding(bfs坑爹题)
坑爹题,两种输入输出互相交换,裸bfs
#include <stdio.h>
#include <string.h>
typedef struct
{
int x;
int y;
} point;
point q[310]; int vis[15][15],mat[15][15];
int dx[4]= {1,0,-1,0};
int dy[4]= {0,1,0,-1};
char ans[5]= {"RTLB"}; int bfs1(int x,int y)
{
int front=0,rear=0;
q[rear].x=x;
q[rear].y=y;
rear++;
while(front<rear)
{
int u=q[front].x;
int v=q[front].y;
for(int i=0; i<4; i++)
{
int xx=u+dx[i];
int yy=v+dy[i];
if(mat[xx][yy]&&!vis[xx][yy]&&xx>0&&xx<=10&&yy>0&&yy<=10)
{
printf("%c",ans[i]);
vis[xx][yy]=1;
q[rear].x=xx;
q[rear].y=yy;
rear++;
}
}
front++;
if(front==rear)
printf(".\n");
else
printf(",\n");
}
}
int bfs2(int x,int y)
{
int front=0,rear=0;
char s[10];
q[rear].x=x;
q[rear].y=y;
rear++;
while(front<rear)
{
int u=q[front].x;
int v=q[front].y;
scanf("%s",s);
for(int i=0;i<strlen(s)-1;i++)
{
for(int j=0;j<4;j++)
if(s[i]==ans[j])
{
int xx=u+dx[j];
int yy=v+dy[j];
mat[xx][yy]=1;
q[rear].x=xx;
q[rear].y=yy;
rear++;
}
}
front++;
}
int ct=0;
for(int i=1;i<=10;i++)
{
for(int j=1;j<=10;j++)
if(mat[i][j])ct++;
}
printf("%d\n",ct);
for(int i=1;i<=10;i++)
{
for(int j=1;j<=10;j++)
if(mat[i][j])
printf("%d %d\n",i,j);
}
}
int main()
{
int n,x,y,k;
memset(mat,0,sizeof(mat));
memset(vis,0,sizeof(vis));
while(scanf("%d",&n)==1)
{
int a;
if(getchar()=='\n')
{
while(n--)
{
scanf("%d%d",&x,&y);
mat[x][y]=1;
}
for(int i=1; i<=10; i++)
{
for(int j=1; j<=10; j++)
{
if(mat[i][j]&&!vis[i][j])
{
vis[i][j]=1;
printf("%d %d\n",i,j);
bfs1(i,j);
}
}
}
}
else
{
scanf("%d",&k);
mat[n][k]=1;
bfs2(n,k);
} } return 0;
}
URAL 1008 - Image Encoding(bfs坑爹题)的更多相关文章
- POJ 3984 - 迷宫问题 - [BFS水题]
题目链接:http://poj.org/problem?id=3984 Description 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, ...
- BFS简单题套路_Codevs 1215 迷宫
BFS 简单题套路 1. 遇到迷宫之类的简单题,有什么行走方向的,先写下面的 声明 ; struct Status { int r, c; Status(, ) : r(r), c(c) {} // ...
- POJ-2251 Dungeon Master (BFS模板题)
You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of un ...
- URAL 1119. Metro(BFS)
点我看题目 题意 : 这个人在左下角,地铁在右上角,由很多格子组成的地图,每一条边都是一条路,每一条边都是100米.还有的可以走对角线,问你从起点到终点最短是多少. 思路 : 其实我想说一下,,,, ...
- poj 1008:Maya Calendar(模拟题,玛雅日历转换)
Maya Calendar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 64795 Accepted: 19978 D ...
- hdu1240 bfs 水题
原题链接 思路:水题,直接搜 #include "map" #include "queue" #include "math.h" #incl ...
- bfs简单题-poj2251
宽搜基础题 思路很简单,注意细节. 走过的节点一定要打上标记//tag数组 三维字符串输入一定要注意 #include <stdio.h> #include <iostream> ...
- 1008. Image Encoding(bfs)
1008 没营养的破题 #include <iostream> #include<cstdio> #include<cstring> #include<alg ...
- POJ 3278 Catch That Cow(BFS,板子题)
Catch That Cow Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 88732 Accepted: 27795 ...
随机推荐
- Solr4.8.0源码分析(12)之Lucene的索引文件(5)
Solr4.8.0源码分析(12)之Lucene的索引文件(5) 1. 存储域数据文件(.fdt和.fdx) Solr4.8.0里面使用的fdt和fdx的格式是lucene4.1的.为了提升压缩比,S ...
- 用c语言程序对显存进行操作
一.基础研究 我们之前研究过变量.数组.函数和指针,他们都可以看作是内存中存储的一段数据,当程序需要用到它们时,会通过它们的地址找到它们并进行调用,只是调用的用途不同而已:变量和数组元素是作为常量来处 ...
- 最近国外很拉风的,,基于.net 的一个手表
site:http://agentwatches.com/ 这个项目是一个国外工作室,筹集资金 创立的. 直接用c# 代码编译显示在手机上.能和智能手机通信等. 并且是开源的. 很酷 其次.它提供了. ...
- led驅動芯片對LED燈具的要求
1.LED驅動芯片直流額定輸入電壓范圍應當8 - 40 v,覆蓋廣泛的應用需求.最好的壓縮能力大于45 v.當輸入交流12 v.24 v,簡單的橋式整流器輸出電壓可以遵循電網電壓波動,特別是在高電壓輸 ...
- Windows 7 mklink命令详解
mklink是Windows 7下的一个类似于linux下In的命令,其作用是在NTFS文件系统中创建文件或目录的链接(类似于桌面快捷方式).如果加以利用其发挥的作用是非常的大的,不仅可以帮助我们节省 ...
- zoj 1010 Area【线段相交问题】
链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1010 http://acm.hust.edu.cn/vjudge/ ...
- SSH的内网穿透
SSH的内网穿透 1.内网: ssh -N -f -R 2222:127.0.0.1:22 lienzh@我的PC的IP2.外网: ssh -p 2222 root@localhost ...
- COJ 3018 求1~n之间的素数
求1~n之间的素数 难度级别:A: 运行时间限制:1000ms: 运行空间限制:256000KB: 代码长度限制:2000000B 试题描述 素数是大于1,且除1和本身以外不能被其他整数所整除的数. ...
- 一个ASPX页面的生命周期?
大家都知道客户端请求一个ASPX页面,通过iis中接收,会被的interinfo.exe进程截取,判断其扩展名,再把请求转交给ASPNET_ISAPI.DLL,通过isapi扩展进入相应的管道处理,转 ...
- HDOJ(HDU) 2103 Family planning(需要注意范围)
Problem Description As far as we known,there are so many people in this world,expecially in china.Bu ...