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 ...
随机推荐
- MySql优化之主从复制
第一步: 配置节点信息(配置完毕重启mysql) 找到my.cnf配置文件,这个文件在etc目录下使用命令修改my.cnf文件 vi /etc/my.cnf 主节点配置: server-id =55 ...
- 【gRPC】如何便捷的调试gRPC程序
前言 gRPC是一款广泛应用的rpc框架,因为基于C/S架构,服务启动之后,需要编写对应的客户端才能调用,调试起来相对麻烦一些,这里主要介绍一下如何通过swagger-ui来调试grpc服务. grp ...
- 剑指offer-面试题57_1-和为s的两个数字-双指针
/* 题目: 输入一个递增数组和一个s,求和等于s的两个数组中的数字. */ /* 思路: 双指针问题. */ #include<iostream> #include<cstring ...
- Apache Solr Velocity模板注入rce+获取交互式shell
前言: 官方的poc.exp payload只能获取很低的命令执行权限,甚至有些符号.命令还被过滤了,例如管道符被过滤.并且不能写入.下载文件,不能使用管道符重定向文件.那么我们只能通过获取到交互式s ...
- demo ‘todolist’项目开发
todolist-site-----------主文件夹 css------------css文件文件夹 header.css---主页面头部样式css section.css---主页面内容样式cs ...
- LNMP环境配置(1)
安装Nginx.MySQL.PHP 概念 LNMP是Linux Nginx MySQL PHP 的简写,把Nginx.MySQL以及PHP安装在Linux系统上,组成一个环境来运行PHP的脚本语言. ...
- CTF伪协议+preg_replace()函数的代码执行
一道学习中所遇到的ctf 步骤: 我们点击题目链接,然后在页面先点击”云平台后台管理中心“ 然后url后面跟了参数page,题目提示了一个文件包含,我们试试index.php 看到了输出了ok,应该是 ...
- PAT (Basic Level) Practice (中文)1043 输出PATest (20 分)
给定一个长度不超过 1 的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符.当然,六种字符的个数不一定是一样多的,若某种字符已经输 ...
- DataGridView只显示数据源中绑定的字段
场景: 由于环境需要,在获取数据源的时候会获取多于DataGridView中绑定的字段,若不做任何处理,直接将数据源绑定到DataGridView上面,DataGridView就会将数据源中没有绑定的 ...
- 转: OSIP协议栈使用入门
转自百度文库 很长时间之前,简单粗略地看了下Osip,eXosip,ortp等并快速“封装”了一个Windows下的基于VC6的MFC的SIP软电话(全部源代码VC6工程文件及Lib库可在本Blog共 ...