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 ...
随机推荐
- 【39】为什么使用卷积?(Why convolutions?)
为什么使用卷积?(Why convolutions?) 我们来分析一下卷积在神经网络中如此受用的原因,然后对如何整合这些卷积,如何通过一个标注过的训练集训练卷积神经网络做个简单概括.和只用全连接层相比 ...
- 在javascript编程语言中,数据类型boolean的相关知识
一. 1.字符串类型: 空字符串返回false,非空字符串均返回true; 2.数值类型: 0或NaN返回false,其他数值返回true; 3.布尔类型: false返回false,true返回tr ...
- Centos中Python升级为3.X时yum出现except OSError, e: ^ SyntaxError: invalid syntax问题 No module named 'pip._internal.main
CentOS 7升级Python到3.7.2后,需要在/usr/bin/python创建了一个指向Python 3的软连接,然后将/usr/bin/yum的顶部的: !/usr/bin/python ...
- LTC
LTC 即 L2C,Leads To Cash,从线索到现金的企业运营管理思想,是以企业的营销和研发两大运营核心为主线,贯穿企业运营全部流程,深度融合了移动互联.SaaS技术.大数据与企业运营智慧,旨 ...
- scrapy框架综合运用 爬取天气预报 + 定时任务
爬取目标网站: http://www.weather.com.cn/ 具体区域天气地址: http://www.weather.com.cn/weather1d/101280601.shtm(深圳) ...
- 快速安装字体.bat批处理脚本
因为经常要做些美工,暑假才换的笔记本上还没装什么字体,这次找到了字体资源,索性一次性装了~ 下载下来的字体包是\(.zip\)压缩文件,解压后如果一个个点\(.ttf\)文件来安装比较麻烦,所以写了一 ...
- Linux 基础操作命令
关机和注销 shutdown -h now 立刻关机 shutdown -r now 立刻重启 shutdown -h + 1分钟后关机(重启同样用法) shutdown -h : 11点钟关机(重启 ...
- P1282 多米诺骨牌【dp】
P1282 多米诺骨牌 提交 20.02k 通过 6.30k 时间限制 1.00s 内存限制 125.00MB 题目提供者洛谷 难度提高+/省选- 历史分数100 提交记录 查看题解 标签 查看算 ...
- Vue tinymce富文本编辑器
tinymce 官方为 vue 项目提供了一个组件 tinymce-vue 一.安装tinymce-vue npm install @tinymce/tinymce-vue -S 二.下载tinymc ...
- Wannafly Winter Camp 2020 Day 5G Cryptographically Secure Pseudorandom Number Generator - 分块
多组数据,给定质数 \(p\) ,求所有 \(x\) 使得 \(f(x)=\min_{k=2}^x f(k)\) ,其中 \(f(x)=x^{-1}\) 所有 \(p\) 在 \([1,10^9]\) ...