http://codeforces.com/contest/359/problem/E

题意:要关掉所有房间的灯,一个步骤要么开灯,要么关灯,要么向有灯的方向前进一格。输出一种关掉所有灯的方案。不能关掉所有灯输出NO

往前搜索时点灯,后退时关灯。

 #include <cstdio>
#include <cstring>
#include <algorithm>
#define maxn 505
using namespace std; bool flag;
int n,sx,sy;
int t1,t2;
int g[maxn][maxn];
int vis[maxn][maxn];
int dir[][]={{,},{-,},{,},{,-}};
char dir1[]={'D','U','R','L'};
char path[]; bool deal(int x,int y)
{
if(x>=&&x<n&&y>=&&y<n&&!vis[x][y]) return true;
return false;
}
bool ok(int x,int y,int i)
{
int xx=x+dir[i][];
int yy=y+dir[i][];
while(deal(xx,yy))
{
if(g[xx][yy]==) return true;
xx+=dir[i][];
yy+=dir[i][];
}
return false;
} void dfs(int x,int y)
{
if(!g[x][y])
{
g[x][y]=;
path[t1++]='';
t2++;
}
vis[x][y]=;
for(int i=; i<; i++)
{
int xx=x+dir[i][];
int yy=y+dir[i][];
if(!vis[xx][yy]&&deal(xx,yy)&&ok(x,y,i))
{
path[t1++]=dir1[i];
dfs(xx,yy);
path[t1++]=dir1[i^];
}
}
path[t1++]='';
t2--;
} int main()
{
while(scanf("%d%d%d",&n,&sx,&sy)!=EOF)
{
t2=;
memset(vis,false,sizeof(vis));
for(int i=; i<n; i++)
{
for(int j=; j<n; j++)
{
scanf("%d",&g[i][j]);
if(g[i][j]==) t2++;
}
}
t1=;
dfs(sx-,sy-);
if(t2) printf("NO\n");
else
{
printf("YES\n");
printf("%s\n",path);
}
}
return ;
}

cf E. Neatness的更多相关文章

  1. ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1, osid 5166'

    凌晨收到同事电话,反馈应用程序访问Oracle数据库时报错,当时现场现象确认: 1. 应用程序访问不了数据库,使用SQL Developer测试发现访问不了数据库.报ORA-12570 TNS:pac ...

  2. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  3. cf Round 613

    A.Peter and Snow Blower(计算几何) 给定一个点和一个多边形,求出这个多边形绕这个点旋转一圈后形成的面积.保证这个点不在多边形内. 画个图能明白 这个图形是一个圆环,那么就是这个 ...

  4. ARC下OC对象和CF对象之间的桥接(bridge)

    在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics.Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环 ...

  5. [Recommendation System] 推荐系统之协同过滤(CF)算法详解和实现

    1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web ...

  6. CF memsql Start[c]UP 2.0 A

    CF memsql Start[c]UP 2.0 A A. Golden System time limit per test 1 second memory limit per test 256 m ...

  7. CF memsql Start[c]UP 2.0 B

    CF memsql Start[c]UP 2.0 B B. Distributed Join time limit per test 1 second memory limit per test 25 ...

  8. CF #376 (Div. 2) C. dfs

    1.CF #376 (Div. 2)    C. Socks       dfs 2.题意:给袜子上色,使n天左右脚袜子都同样颜色. 3.总结:一开始用链表存图,一直TLE test 6 (1)如果需 ...

  9. CF #375 (Div. 2) D. bfs

    1.CF #375 (Div. 2)  D. Lakes in Berland 2.总结:麻烦的bfs,但其实很水.. 3.题意:n*m的陆地与水泽,水泽在边界表示连通海洋.最后要剩k个湖,总要填掉多 ...

随机推荐

  1. 用QtWebKit开发简单的浏览器

    用QtWebKit开发简单的浏览器 1.代码实现 工程目录结构如下: AddressBar类包含了地址栏和按钮两个控件,将地址栏回车和按钮点击信号与goToSite()槽连接. 当回车和点击事件发生时 ...

  2. ZOJ 2760 How Many Shortest Path

    题目大意:给定一个带权有向图G=(V, E)和源点s.汇点t,问s-t边不相交最短路最多有几条.(1 <= N <= 100) 题解:从源点汇点各跑一次Dij,然后对于每一条边(u,v)如 ...

  3. 让iframe调用页面的背景透明

    需求:在一个div里面嵌套一个iframe(src="ui.html"),div有背景图片,要让iframe里的内容透明地显示在div层上. 刚开始直接把iframe放在div中, ...

  4. mac显示隐藏文件夹

    ~/Library/Preferences/com.apple.finder AppleShowAllFiles -bool true (true 改成 false 就可以不再显示隐藏文件)需要重启, ...

  5. pyqt4制作透明无边框窗体

    用PyQt做了一个无边框登陆窗口,效果如下: 下面是代码: # -*- coding: utf-8 -*- from PyQt4 import QtGui ,Qt ,QtCore image=QtGu ...

  6. 【顽固BUG】Visual Studio 2013 + TestDriven.NET-3.8.2860_Personal_Beta 调用的目标发生了异常。

    前言 突然怎么弄也无法断点调试了 输出如下: ------ Test started: Assembly: Server5.V2.dll ------ 调用的目标发生了异常. 而且网站运行提示: -- ...

  7. Linux常见面试题

      一.填空题:1. 在Linux系统中,以 文件 方式访问设备 .2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统.3. Linux文件系统中每个文件用 索引节点来标 ...

  8. nginx安装(正式)

    一.安装说明 系统环境:CentOS Linux release 7.2.1511 (Core) 系统内核:3.10.0-327.el7.x86_64软件:nginx-1.10.1.tar.gz其他所 ...

  9. DropDownList获取的SelectIndex一直为0

    1.想要DropDownList自动提交必须设置AutoPostBack="true"属性,下面是代码: <asp:DropDownList ID=" AutoPo ...

  10. C#Socket 案例

    服务器端 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; ...