kao shi di er ti(还没有订正)
// 离散化点 思路应该是对的 吧 但没时间去检查编译上的错误
#include <bits/stdc++.h>
using namespace std;
const int M =;
#define ri register int
int n,sum;
struct dian{
int x,y,id,bj,zlin;
}a[M],yuan[M],arr[M][M];
int m,X[M],Y[M],m2,vis[M][M];
void dfs(int a,int b,int zl,int xx,int yy) // 1 up 2 xia ,3 zuo ,4 rou
{
if(arr[a][b].zlin)
{
zl=arr[a][b].zlin;
sum+=abs(arr[a][b].x-xx+);
sum+=abs(arr[a][b].y-yy+);
if(arr[a][b].id==) return;
xx=arr[a][b].x,yy=arr[a][b].y;
if(zl==) dfs(a,b+,,xx,yy);
if(zl==) dfs(a,b-,,xx,yy);
if(zl==) dfs(a-,b,,xx,yy);
if(zl==) dfs(a+,b,,xx,yy);
return ;
}if(arr[a][b].id==)
{
sum+=abs(arr[a][b].x-xx+);
sum+=abs(arr[a][b].y-yy+);
return ;
}
arr[a][b].bj=;
if(zl==) dfs(a,b+,,xx,yy);
if(zl==) dfs(a,b-,,xx,yy);
if(zl==) dfs(a-,b,,xx,yy);
if(zl==) dfs(a+,b,,xx,yy);
}
void dfs1(int a,int b)
{
if(arr[a][b].id==) return; //
if(a>m||a<) return ;
if(b>m2||b<) return ;
arr[a][b].bj=;
dfs1(a+,b);dfs1(a,b+);
dfs1(a-,b);dfs1(a,b-);
}
int main(){
scanf("%d",&n);
yuan[].x=yuan[].y=a[].x=a[].y=X[]=Y[]=;
a[].id=;yuan[].id=;
for(ri i=;i<=n+;i++)
{ char c[];int b;
scanf("%s%d",c,&b);
if(c[]=='R') a[i].x=a[i-].x+b,a[i].y=a[i-].y,a[i].zlin=;
if(c[]=='L') a[i].x=a[i-].x-b,a[i].y=a[i-].y,a[i].zlin=;
if(c[]=='U') a[i].y=a[i-].y+b,a[i].x=a[i-].x,a[i].zlin=;
if(c[]=='D') a[i].y=a[i-].y-b,a[i].x=a[i-].x,a[i].zlin=;
X[i]=a[i].x;yuan[i].x=a[i].x; yuan[i].id=i;
Y[i]=a[i].y; a[i].id=i;yuan[i].y=a[i].y;
}
sort(X+,X+n++);
m=unique(X+,X+n++)-X-;
for(ri i=;i<=n+;i++)
{
a[i].x=lower_bound(X+,X+m+,a[i].x)-X;
}
sort(Y+,Y+n+);
m2=unique(Y+,Y+n++)-Y-;
for(ri i=;i<=n+;i++)
{
a[i].y=lower_bound(Y+,Y+m2+,a[i].y)-Y;
}
for(ri i=;i<=n+;i++)
{
arr[a[i].x][a[i].y].id=i;
arr[a[i].x][a[i].y].x=yuan[i].x;X[a[i].x]=yuan[i].x;
arr[a[i].x][a[i].y].y=yuan[i].y;Y[a[i].y]=yuan[i].y;
arr[a[i].x][a[i].y].bj=;
}
dfs(a[n+].x,a[n+].y,a[n+].zlin,a[n+].x,a[n+].y);
dfs1(m,m2);
for(ri i=;i<=m;i++)
for(ri j=;j<=m2;j++)
{
if(arr[i][j].bj==)
{
sum+=abs(X[j]-X[j-]);
sum+=abs(X[i]-X[i-]);
}
}
printf("%d\n",sum);
return ;
}
kao shi di er ti(还没有订正)的更多相关文章
- kao shi
1 #include "date.h" #include "utils.h" #include <iostream> using std::cout ...
- python文件对象几种操作模式区别——文件操作方法详解
文件对象的字节模式/b模式(以utf-8编码为例) 读操作 写操作 指针操作 ASCII字节 返回bytes/字节类型的Ascii 写入bytes类型字节 例如:b'This is ascii' 使用 ...
- TI推出SimpleLink低能耗蓝牙CC2541
TI推出SimpleLink低能耗蓝牙CC2541 日前,德州仪器 (TI) 宣布推出 SimpleLink™ 低能耗蓝牙 (Bluetooth®Low Energy) CC2541-Q1, 这是一款 ...
- 数据库系统概论——从E-R模型到关系模型
E-R模型和关系模型都是现实世界抽象的逻辑表示 E-R模型并不被 DBMS直接支持,更适合对现实世界建模 关系模型是 DBMS直接支持的数据模型 基本 E-R图中的元素包括实体集.联系集.属性 椭圆框 ...
- 【DSP开发】【计算机视觉】TI 视觉软件开发套件ADAS
关键字:TI 视觉软件开发套件 ADAS 日前,德州仪器 (TI) 宣布推出其视觉软件开发套件(SDK),从而为开发人员提供了一款灵活的框架.一组丰富齐全的硬件设备驱动程序和一套适用的开发工具,可 ...
- 【DSP开发】TI第二代KeyStone SoC诠释德仪的“云”态度
11月14日,期盼已久的德州仪器基于ARM Cortex-A15的产品终于新鲜出炉.伴随着TIKeyStone II多核 SoC系列产品的发布,结合了ARM Cortex-A15 处理器.C66x D ...
- 【DSP开发】解读TI的KeyStone II云技术应用
最近,德州仪器(TI)公司推出6款最新KeyStone II多核SoC,助力云应用.TI公司多核DSP中国市场开发经理蒋亚坚先生向媒体讲解了这6款KeyStone II新产品的特点与目标应用. ...
- php获取汉字的拼音 拼音首字母
/***获取汉字的拼音*/function pinyin($s, $isfirst = false) { static $pinyins; $s = trim($s); $len = strlen($ ...
- php中文转拼音2
<?php /** * strtopinyin.php * * @name 汉字字符转拼音 * @author Kudosharry * @version v1.0 * */ class Str ...
随机推荐
- 两分支部署Hexo
最近把原本部署在GitHub上的hexo同时部署到码云上,速度快到飞起. 可做对比,我的GitHub Pages像乌龟一样慢吞吞,我的Gitee Pages像兔子一样敏捷. 使用hexo,如果换了电脑 ...
- 【46】谷歌 Inception 网络简介Inception(2)
Inception 网络(Inception network) 在上节笔记中,你已经见到了所有的Inception网络基础模块.在本节笔记中,我们将学习如何将这些模块组合起来,构筑你自己的Incept ...
- 配置 vim 过程中必须解决的问题
网络问题 在使用 github 作为插件下载源的时候, 容易出现网络连接超时等错误 在使用 gitee 作为插件下载源的时候, 子模块可能会出现下载超时 解决方案有以下两个: 使用 VPN , 改善访 ...
- Missing artifact com.oracle:ojdbc14:jar:10.2.0.1.0
问题说明:导入Maven项目时,想要添加Oracle驱动包时,Maven的pom.xml总是报Missing artifact com.oracle:ojdbc14:jar:10.2.0.1.0错. ...
- MY_0001:添加命令到自定义工具栏
1,按住 ctrl + shift 2,点击命令即可
- 885.求组合数 I(模板)
O(n^2) 数据范围 a*b =4e6 根据组合数公式: 代码: import java.util.Scanner; public class Main{ static final int N=2 ...
- 浏览器console控制台不显示编译错误/警告
浏览器正常显示报错应该是这样的 ,但是我一不小心右键给Hide message from...了,红色报错字体就没了,解决方法如下: 直接将红色框内的内容叉掉,恢复成filter就OK了
- gulp常用插件之gulp-replace使用
更多gulp常用插件使用请访问:gulp常用插件汇总 gulp-replace这是一款gulp3的字符串替换插件. 更多使用文档请点击访问gulp-replace工具官网. 安装 一键安装不多解释 n ...
- Nessus 8.2.3无IP限制VM版虚拟机
根据“西门吹雪”http://ximcx.cn/m/?post=151的文章自己下载配置的过程 VM版本>=12都行,我用的是VM14 下载地址 https://moehu-my.sharepo ...
- 在 myeclipse 引入项目
1.进入 myeclipse 在界面空白处,右键,出现如下图所示 2.选择 Import...,弹出如下图所示界面 3.双击上图红框内的内容,弹出如下图所示界面,然后点击按钮“Browse...”,选 ...