[DFS] 5.2.1 Snail Trails

【USACO题库】5.2.1 Snail Trails蜗牛的旅行 题目描述: 萨丽·斯内尔(Sally Snail,蜗牛)喜欢在 N x N 的棋盘上闲逛(1 A B C D E F G H 1 S . . . . . # . 2 . . . . # . . . 3 . . . . . . . . 4 . . . . . . . . 5 . . . . . # . . 6 # . . . . . . . 7 . . . . . . . . 阅读详情
 
Snail Trails

蜗 牛的旅行

All Ireland Contest

译 by Felicia Crazy

萨丽·斯内尔(Sally Snail,蜗牛)喜欢在 N x N 的棋盘上闲逛(1 < n < 120)。她总是从棋盘的左上角出发。棋盘上有空的格子(用“.”来表示)和 B 个路障(用“#”来表示)。下面是这种表示法的示例棋盘:

 A B C D E F G H
1 S . . . . . # .
2 . . . . # . . .
3 . . . . . . . .
4 . . . . . . . .
5 . . . . . # . .
6 # . . . . . . .
7 . . . . . . . .
8 . . . . . . . .

萨丽总是垂直(向上或者向下)或水平(向左或者向右)地走。她可以从出发地(总是记作 A1 )向下或者向右走。

一旦萨丽选定了一个方向,她就会一直走下去。如果她遇到棋盘边缘或者路 障,她就停下来,并且转过 90 度。她不可能离开棋盘,或者走进路障当中。并且,萨丽从不跨过她已经经过的格子。当她再也不能走的时候,她就停止散步。

这里是上面的棋盘上的一次散步路线图示:

 A B C D E F G H
1 S---------+ # .
2 . . . . # | . .
3 . . . . . | . .
4 . . . . . +---+
5 . . . . . # . |
6 # . . . . . . |
7 +-----------+ |
8 +-------------+


萨丽向右走,再向下,向右,向下,然后向左,再向上,最后向右走。这时她遇到了一 个她已经走过的格子,她就停下来了。但是,如果她在 F5 格遇到路障后选择另外一条路——向我们看来是左边的方向转弯,情况就不一样了。

你的任务是计算并输出,如果萨丽聪明地选择她的路线的话,她所能够经过的 最多格子数。

PROGRAM NAME: snail

INPUT FORMAT

输入的第一行包括 N ——棋盘的大小,和 B ——路障的数量(1 <= B <= 200)。接下来的 B 行包含着路障的位置信息。下面的样例输入对应着上面的示例棋盘。下面的输出文件表示问题的解答。注意,当 N 〉26 时,输入文件就不能表示 Z 列以后的路障了。

SAMPLE INPUT (file snail.in)8 4 E2 A6 G1 F5

OUTPUT FORMAT

输出文件应该只由一行组成,即萨丽能够经过的最多格子数。

SAMPLE OUTPUT (file snail.out)

33
 
 
 
简单的暴力dfs题目
但因为一个小问题检查了1个多小时
读入的时候不知道脑子怎么想的用字符串读
以为只有两个数么。。。。
这样居然也有45分。。。。
然后我就以为是自己程序写跪了
然后各种找题解各种改还是各种45分。。。
崩溃了之后突然发现是这么一个nc错误。。。。。。。
var n,i,j,n1,a1,b1,tot,max,kk:longint;
    ch:char;
    map:array[0..121,0..121]of longint;
    f:array[0..121,0..121]of boolean;
    x1,y1:array[1..4]of longint;

procedure dfs(x,y,k:longint);
var xk,yk,i,j:longint;
begin
    if max<tot then max:=tot;
    if f[x+x1[k],y+y1[k]]=true then exit;
    if (map[x+x1[k],y+y1[k]]=0)and(not(f[x+x1[k],y+y1[k]])) then
    begin
        inc(tot);
        f[x+x1[k],y+y1[k]]:=true;
        dfs(x+x1[k],y+y1[k],k);
        dec(tot);
        f[x+x1[k],y+y1[k]]:=false;
    end
    else
    begin
        if k=4 then begin xk:=1;yk:=1;end
        else begin xk:=k+1;yk:=k+1; end;
        if (map[x+x1[xk],y+y1[yk]]=0)and(not(f[x+x1[xk],y+y1[yk]])) then
        begin
            inc(tot);
            f[x+x1[xk],y+y1[yk]]:=true;
            dfs(x+x1[xk],y+y1[yk],xk);
            dec(tot);
            f[x+x1[xk],y+y1[yk]]:=false;
        end;

        if k=1 then begin xk:=4;yk:=4;end
        else begin xk:=k-1;yk:=k-1; end;
        if (map[x+x1[xk],y+y1[yk]]=0)and(not(f[x+x1[xk],y+y1[yk]])) then
        begin
            inc(tot);
            f[x+x1[xk],y+y1[yk]]:=true;
            dfs(x+x1[xk],y+y1[yk],xk);
            dec(tot);
            f[x+x1[xk],y+y1[yk]]:=false;
        end;
    end;
end;

procedure work;
var i,j:longint;
begin
   fillchar(f,sizeof(f),false);
   x1[1]:=0;y1[1]:=1;
   x1[2]:=1;y1[2]:=0;
   x1[3]:=0;y1[3]:=-1;
   x1[4]:=-1;y1[4]:=0;
   tot:=0;max:=0;
   f[1,1]:=true;
   dfs(1,1,1);
   fillchar(f,sizeof(f),false);
   tot:=0;
   f[1,1]:=true;
   dfs(1,1,2);
   writeln(max+1);
end;

begin
    for i:=0 to 121 do for j:=0 to 121 do map[i,j]:=1;
    readln(n,n1);
    for i:=1 to n do for j:=1 to n do map[i,j]:=0;
    for i:=1 to n1 do
    begin
      readln(ch,kk);
      b1:=ord(ch)-64;
      map[b1,kk]:=1;
    end;
    work;
end.

 
 
fNIRS 公开数据集整理 关注“心仪脑”查看更多脑科学知识的分享。 关键词:数据整理、fNIRS 之前我们向大家推送了 Public Neuroscience Dataset 系列主题的第一期:《EEG公开数据集》,我们同时意识到大家对于神经科学公开数据集的需求。本期是该系列主题的第二期,我们在延续第一期初衷的基础上,整理了功能性近红外光谱(fNIRS)技术的公开数据集。 fNIRS 是一种非侵入性、便携且价格低廉的光学神经成像技术,它具有可观的空间和时间分辨率。因fNIRS技术问世较EEG晚了许多,所以应用此技术开展研究发. 阅读详情

相关推荐

手把手教你用Nangate 45nm开源工艺库搞定数字电路仿真(附FreePDK资源)

本文详细介绍了如何使用Nangate 45nm开源工艺库进行数字电路仿真,包括环境搭建、关键文件解析、仿真环境配置及低功耗设计等实战内容。特别推荐FreePDK资源,帮助读者快速掌握从理论到实践的全流程操作,适用于学术研究和小规模数字电路设计。

weixin_30352645的博客 487

【题目】[USACO5.2]蜗牛的旅行Snail Trails

[USACO5.2]蜗牛的旅行Snail Trails1

Mashiro_ylb的博客 1006

安卓逆向实战:利用Frida-RPC自动化获取大麦演唱会数据

本文详细介绍了如何利用Frida-RPC技术实现安卓逆向自动化,以获取大麦演唱会数据。通过实战演示,从环境搭建、使用Frida动态分析定位核心签名算法,到封装为可复用的Python脚本,完整解析了自动化数据获取的技术路径与工程化思考。

cheese的博客 974

USACO 5.2 Snail Trails(DFS)

2015-03-2921:56:23 思路:DFS搞之,类似记忆化搜索过程的写法,只不过没有记忆化。   需要注意的一个细节是:当且仅当碰到障碍或者出界才能转向。(碰到已经走过的格子就只能停下了,不能转向) 1 /* 2 ID:naturec1 3 PROG: snail 4 LANG: C++ 5 */ 6 #include <cstdio&gt...

dingdi3021的博客 216

卸载重装Ubuntu22.04双系统

先说一下写此篇文章的背景吧,我在Windows下配置了三个cornerNet深度学习环境分别是cuda10.3(显卡版本太高不支持),cuda11.3(配置后偶然看到一篇说这个版本win下只能用CPU跑),最后是cuda11.1终究还是没能跑通代码,因为它的代码是在Liunx系统写的,就想着装个Ubuntu试试看,在网上看说一般软件不要装太高版本,我就下载了470版的显卡驱动,跟着步骤升级了系统内核,结果第二天开机Ubuntu就崩了,开机黑屏左上角只有一道横杠显示,只能按ctrl+shift+f5进入命令窗

编程小白的博客 8106

目标检测中回归损失函数(L1Loss,L2Loss,Smooth L1Loss,IOU,GIOU,DIOU,CIOU,EIOU,αIOU ,SIOU)

为了解决CIoU的问题,有学者在CIOU的基础上将纵横比拆开,提出了EIOU Loss,并且加入Focal聚焦优质的预测框,与CIoU相似的,EIoU是损失函数的解决方案,只用于训练。在错误率小的地方,梯度的值也应当小,反之在错误率大的地方,梯度也应当大,因为这时候我们需要对错误率小的情况进行微调,而错误率大的地方进行大刀阔斧的调整;如下图所示,三种情况IoU都相等,但看得出来他们的重合度是不一样的,左边的图回归的效果最好,右边的最差。DIoU的作者考虑到,在两个框中心点重合时,c与d的值都不变。

zyw2002的博客 6629

Snail Trails

题意:转载NOCOW翻译(http://www.nocow.cn/index.php/Translate:USACO/theme) 描述 我们用N(1 许多作曲家围绕一个重复出现的“主题”来构建乐曲。在我们的乐曲表示法中,“主题”是整个音符序列的一个子串,它需要满足如下条件: ⒈长度至少为5个音符 ⒉在乐曲中重复出现(可能经过转调,见下) ⒊重复出现的同一主题

原味 697

一张图读懂 SAP S/4HANA Cloud 与 SAP BTP 的扩展版图

本文解析了SAP S/4HANA Cloud的扩展技术谱系,提出扩展应分为on-stack(系统内)和side-by-side(并行)两种路径,并沿着低代码到专业代码的能力梯度进行分层。on-stack扩展包括面向业务人员的Key User Extensibility和面向开发者的Developer Extensibility,强调贴近核心业务对象;side-by-side扩展则依托SAP BTP平台,提供SAP Build低代码工具、CAP开发框架和ABAP云环境三种方案,支持解耦创新。文章通过五个真实案

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 250

【USACO5-2】蜗牛的旅行Snail Trails dfs

题目1表示障碍 2表示走过的路遇到1 90度转遇到2退出#include&lt;iostream&gt; #include&lt;algorithm&gt; #include&lt;cctype&gt; #include&lt;cstdio&gt; #include&lt;cstring&gt; #define inf 0x3f3f3f3f using namespace std; char yy...

Mininda 367

【AI智能体】QClaw 对接GitHub处理自动化任务实战操作详解

QClaw 对接GitHub处理自动化任务实战操作详解

congge 4869

CH7034B显示模块原理图设计,已量产

显示桥接板的价值,不在于简单把 RGB 排线换成另一种接口,而在于能否把并行视频、时钟、显示控制、模拟输出和辅助配置同时组织成稳定系统。当前这张 CH7034B 原理图就是这种思路:U3 CH7034B 作为核心桥接芯片,输入侧是 LCD_R0~R7、LCD_G0~G7、LCD_B0~B7、LCD_DE、LCD_HSYNC、LCD_VSYNC、LCD_CLK 与 LCD_BL,输出侧则通过 DAC0~DAC2 和 DDC_SC/DDC_SD 形成模拟显示接口边界。

不脱发的程序猿 161

USACO5.2.1 Snail Trails(snail)

普通的一道dfs,不用多说了吧 /* ID:xsy97051 PROG:snail LANG:C++ */ #include #include #include using namespace std; int u[4][2]={{0,1},{0,-1},{1,0},{-1,0}}; bool map[121][121],vis[122][122]; int n,ans

xsy_victory的专栏 406

CesiumForUnreal实现地形等高线效果

CesiumForUnreal实现地形等高线效果

专注GIS开发 3437

P1560 [USACO5.2]蜗牛的旅行Snail Trails

 P1560 [USACO5.2]蜗牛的旅行Snail Trails   题目描述 萨丽·斯内尔(Sally Snail,蜗牛)喜欢在N x N 的棋盘上闲逛(1 &lt; n &lt;= 120)。 她总是从棋盘的左上角出发。棋盘上有空的格子(用“.”来表示)和B 个路障(用“#”来表示)。 下面是这种表示法的示例棋盘: 萨丽总是垂直(向上或者向下)或水平(向左或者向右)地走。她可...

MeisterMorxrc的学习小屋 481

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

[USACO5.2]Snail Trails

显然爆搜,虽然一开始以为会超时。注意清除走过的点的标记,之前这里没处理好样例少1就手动+1结果16分数据太水了然后就是代码。int mx[4]={1,0,-1,0}; int my[4]={0,1,0,-1}; #define N 200 int ap[N][N],ved[N][N],n,m; int dfs(int x,int y,int t) { int _=x+mx[t],__=y+m

huhao的博客 427

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Usaco Training Section 5.2 Snail Trails

这……不是普及组难度的题吗?作为5.2的唯一一题有点水了吧。 直接dfs,按题意模拟,不用优化。 一开始没注意障碍物的横坐标可能会是多位数。其他就没什么坑了吧。 #include&lt;bits/stdc++.h&gt; #define ll long long #define ull unsigned long long #define inf 2147483647 #define ...

Monster的博客 229

Section 5.2 Snail Trails

/*ID: niepeng1PROG: snailLANG: C++*//* 这个问题简单,只需要简单的深搜索就行了。 基本的深搜,可是我却花了好久。 问题就在,在一个点搜索的额时候没有记忆已 经搜索的方向,导致函数在一个点上左右上 下方向变换个不停,导致函数陷入死循环,囧。 后来又优化一下。挺简单的其实。*/#include#include#includeusing namespace std;

china1000的专栏 596

JZOJ1315.【USACO题库】5.2.1 Snail Trails蜗牛的旅行

题目描述萨丽·斯内尔(Sally Snail,蜗牛)喜欢在 N x N 的棋盘上闲逛(1 < n < 120)。她总是从棋盘的左上角出发。棋盘上有空的格子(用“.”来表示)和 B 个路障(用“#”来表示)。下面是这种表示法的示例棋盘: A B C D E F G H 1 S . . . . . # . 2 . . . . # . . . 3 . . . . . . . .

路人黑的纸巾 683

[题解]USACO 5.2.1 Snail Trails

链接:http://cerberus.delos.com:791/usacoprob2?S=snail&a=uzElkgTaI9d 描述:有障碍的棋盘上的搜索,求从左上角出发最多经过多少个格子。 思路:暴搜 我的实现: 1 /* 2 ID:zhangyi20 3 PROG:snail 4 LANG:C++ 5 */ 6 #includ...

weixin_34113237的博客 144

usaco 5.2 Snail Trails(DFS)

Snail Trails All Ireland Contest Sally Snail likes to stroll on a N x N square grid (1 <n <= 120). She always starts in the upper left corner of the grid. The grid has empty squares (denoted below b

志当存高远 1123

题解 P1560 【[USACO5.2]蜗牛的旅行Snail Trails】

一发过样例、题目,真开森! 咳咳,进入正题 其实这题并没有想象中的复杂,就是一个智障的大爆搜,我感觉我都没有加上什么优化,然后就 \(AC\) 了。 我用的有点像是记忆化搜索,然而事实上可以不这么用。 每次搜索路径时,我们就一条道走到黑,不撞南墙不回头,然后在遇到障碍或边界时,枚举其余的方向,再碰到自己走过的路径便停下来,开始回溯 \(Code:\) #include <iost...

dkirhf8740的博客 231

USACO 5.2 Snail Trails

Snail TrailsAll Ireland Contest Sally Snail likes to stroll on a N x N square grid (1 <n <= 120). She always starts in the upper left corner of the grid. The grid has empty squares (denote...

weixin_30383279的博客 186

洛谷——P1560 [USACO5.2]蜗牛的旅行Snail Trails

P1560 [USACO5.2]蜗牛的旅行Snail Trails 题目描述 萨丽·斯内尔(Sally Snail,蜗牛)喜欢在N x N 的棋盘上闲逛(1 < n <= 120)。 她总是从棋盘的左上角出发。棋盘上有空的格子(用“.”来表示)和B 个路障(用“#”来表示)。 下面是这种表示法的示例棋盘: 萨丽总是垂直(向上或者向下)或水平(向左或者向右)地走。她可以从出...

weixin_33958585的博客 145

[USACO5.2] Snail Trails

搜索就能水过。 洛谷 P1560 传送门 搜索传参的时候,除了要传坐标和已走的步数,还要传方向。 走过了就标记,回溯的时候清标记(都是常规操作了)。 边界也要被视为障碍,刚开始把这个忘了,结果听取WA声一片...... 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm>...

weixin_30681615的博客 113
上一篇: [动态规划]4.3.1 Buy Low, Buy Lower
下一篇: [递归]3.4.2 American Heritage
UtralK
博客等级 码龄14年 3粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值