题意:给定n个炸弹和炸弹的坐标,要求把所有炸弹拆除而且拆炸弹时不能踩到其它炸弹

题解:直接按路径长度排序然后拆就行了

#include<iostream>
#include<cstdio>
#include<map>
#include<algorithm>
#include<cstdio>
#include<vector>
#include<stack>
#include<queue>
#include<deque>
#include<cstring>
#include<vector>
#include<set>
#include<cmath>
#include<cstring>
#include<cstdlib>
#define fi first
#define se second
#define u1 (u<<1)
#define u2 (u<<1|1)
#define PII pair<int,int>
#define ll long long
#define ull unsigned long long
#define PLL pair<long long,long long>
#define scd(a) scanf("%d",&a)
#define scdd(a,b) scanf("%d%d",&a,&b)
#define scddd(a,b,c) scanf("%d%d%d",&a,&b,&c)
#define scl(a) scanf("%lld",&a)
#define rep(i,n) for(int i = 0; (i)<(n); i++)
#define rep1(i,n) for(int i = 1; (i)<=(n); i++)
#define pb(a) push_back(a)
#define mst(a,b) memset(a, b, sizeof a)
#define ac cout<<ans<<endl
using namespace std;
const int N=1e6+10;
PII p[N];
int ans;
bool cmp(PII a,PII b)
{return abs(a.fi)+abs(a.se)<abs(b.fi)+abs(b.se);
}
void solve()
{int n;scd(n);for(int i=1;i<=n;i++){scdd(p[i].first,p[i].se);if(!p[i].first) ans-=2;if(!p[i].second) ans-=2;ans+=6;}sort(p+1,p+1+n,cmp);ac;for(int i=1;i<=n;i++){auto t=p[i];if(t.fi>0){printf("%d %d R\n",1,abs(t.fi));}if(t.fi<0){printf("%d %d L\n",1,abs(t.fi));}if(t.se>0){printf("%d %d U\n",1,abs(t.se));}if(t.se<0){printf("%d %d D\n",1,abs(t.se));}printf("%d\n",2);if(t.fi>0){printf("%d %d L\n",1,abs(t.fi));}if(t.fi<0){printf("%d %d R\n",1,abs(t.fi));}if(t.se>0){printf("%d %d D\n",1,abs(t.se));}if(t.se<0){printf("%d %d U\n",1,abs(t.se));}printf("%d\n",3);}
}
signed main()
{int t=1;//scd(t);while(t--) solve();return 0;
}

Bombs CodeForces - 350C相关推荐

  1. M - Bombs CodeForces - 350C(方格,模拟)

    You've got a robot, its task is destroying bombs on a square plane. Specifically, the square plane c ...

  2. 【codeforces 350C】Bombs

    [链接] 我是链接,点我呀:) [题意] [题解] 会发现在x轴以及y轴上的炸弹,能用较少的操作数除掉. 而其他的点,会发现操作数都是一样的. 那么先把x,y轴上的点都除掉. 其他点. 我们优先沿着横 ...

  3. Codeforces - Bombs

    题目链接:Codeforces - Bombs 显然从右往左枚举的时候,答案具有单调性. 所以我们可以依次看当前的值能否成为答案. 当前值可以是答案的充要条件为:存在一个点,这个点后面大于等于ans的 ...

  4. codeforces 1326 E.Bombs

    codeforces 1326 E.Bombs 题意: 给定[1,n][1,n][1,n]的排列p,q,将pip_ipi​依次加入初始为空的集合S,qiq_iqi​的值表示第i次加入的值为bomb.若 ...

  5. CodeForces - 1326E Bombs(线段树+思维)

    题目链接:点击查看 题目大意:给出一个 n 的排列记为 p[ i ] ,现在有一个初始时为空的集合A,对于每个 i 遍历 1 ~ n ,每次的操作如下: 向集合中添加 p[ i ] 如果位置 i 有炸 ...

  6. Codeforces 1326 E. Bombs (线段树)

    题目链接 题目大意: 一个序列p和一个序列q.按p1p2-pn将炸弹放到第1,2,-n的位置之上,每个炸弹都有一个值,然后q的序列是表示当前qi的位置上已经存在炸弹,如果已经存在炸弹,就把当前已经放的 ...

  7. Codeforces Global Round 7 E. Bombs(线段树)

    题目: 给你一个置换,p1,p2,-,pn.假设排列的某些位置包含炸弹,这样至少存在一个没有炸弹的位置.对于某些固定的炸弹配置,请考虑以下过程.最初,有一个空集合,A.对于从1到n的每个i:将pi添加 ...

  8. CodeForces 375D Tree and Queries

    传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...

  9. 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)

    题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...

最新文章

  1. 30~60k | 小鹏汽车3D视觉感知工程师/专家招聘(社招)
  2. 在当当买了python怎么下载源代码-爬虫实战:爬取当当网所有 Python 书籍
  3. HDU-6290_奢侈的旅行(Dijstra+堆优化)
  4. 解决服务器连接错误Host ‘XXX’ is not allowed to connect to this MySQL server
  5. oracle如何带符号求和,ORACLE 实现行转列(字符串求和)
  6. 大剑无锋之Kafka的Patition的作用【面试推荐】
  7. python base64编码_JS和Python实现AES算法
  8. java hadoop api_Hadoop 系列HDFS的Java API( Java API介绍)
  9. SXSSFWorkbook使用——使用excel模板
  10. java start打开cmd窗口并停住_浅析Java命令执行
  11. linux应用程序启动时加载库错误问题
  12. 不同品牌交换机设置telnet方法
  13. “21天好习惯”第一期-20
  14. Django框架配置
  15. BootStrap实现一个简单的界面
  16. c语言三位数中有多少素数,输出所以三位数的素数,并求素数的个数,每行输出10个数...
  17. 固定资产的四种折旧方式
  18. 360助手上app下载地址
  19. 一元回归及多元回归模型
  20. Django2.0-表单(2)-表单的FIeld,验证器,提取错误字段

热门文章

  1. word排版技巧:论文图表目录制作步骤
  2. 《卓有成效的管理者》第一次心得
  3. python输入一个小数,提取整数部分
  4. java线程状态管理
  5. winform进度条的实现
  6. PXE的原理与配置方式
  7. 18.play依赖管理
  8. Arduino与Proteus仿真实例-电子相册仿真
  9. Java动态数组的用法详解
  10. 摄像头模组简介与质量管控(连载三)