【链接】 我是链接,点我呀:)
【题意】

【题解】

会发现在x轴以及y轴上的炸弹,能用较少的操作数除掉。
而其他的点,会发现操作数都是一样的。
那么先把x,y轴上的点都除掉。
其他点。
我们优先沿着横坐标轴移动到和它相同位置。
然后再改变y坐标和目标炸弹一致。
然后就会发现。
x相同的话,要以y坐标的绝对值升序排,要优先处理y的绝对值小的点。
不然可能会出现走的过程中遇到另外一个炸弹的情况。
sort一波+贪心就好。

【代码】

#include <bits/stdc++.h>
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
using namespace std;const int N = 1e5;struct abc{int x,y;
};int n,cnt;
abc a[N+10];bool cmp1(abc a,abc b){return a.y<b.y;
}bool cmp2(abc a,abc b){return a.x<b.x;
}bool cmp3(abc a,abc b){if (a.x!=b.x)return a.x<b.x;else {if (a.y<0 && b.y<0){return a.y>b.y;}else return a.y<b.y;}
}int main()
{scanf("%d",&n);rep1(i,1,n){scanf("%d%d",&a[i].x,&a[i].y);if (a[i].x==0 || a[i].y==0) cnt++;}printf("%d\n",cnt*4+(n-cnt)*6);//从下到上排序.sort(a+1,a+1+n,cmp1);rep1(i,1,n)if (a[i].x==0){if (a[i].y>0){printf("1 %d U\n",a[i].y);puts("2");printf("1 %d D\n",a[i].y);puts("3");}}rep2(i,n,1)if (a[i].x==0){if (a[i].y<0){printf("1 %d D\n",-a[i].y);puts("2");printf("1 %d U\n",-a[i].y);puts("3");}}//从左往右排序sort(a+1,a+1+n,cmp2);rep1(i,1,n)if (a[i].y==0){if (a[i].x>0){printf("1 %d R\n",a[i].x);puts("2");printf("1 %d L\n",a[i].x);puts("3");}}rep2(i,n,1)if (a[i].y==0){if (a[i].x<0){printf("1 %d L\n",-a[i].x);puts("2");printf("1 %d R\n",-a[i].x);puts("3");}}sort(a+1,a+1+n,cmp3);rep1(i,1,n)if (a[i].x!=0 && a[i].y!=0){printf("1 %d ",abs(a[i].x));if (a[i].x<0) puts("L");else puts("R");printf("1 %d ",abs(a[i].y));if (a[i].y<0) puts("D");else puts("U");puts("2");printf("1 %d ",abs(a[i].y));if (a[i].y<0) puts("U");else puts("D");printf("1 %d ",abs(a[i].x));if (a[i].x<0) puts("R");else puts("L");puts("3");}return 0;
}

【codeforces 350C】Bombs相关推荐

  1. 【CodeForces - 144C】Anagram Search(尺取,滑窗问题,处理字符串计数)

    题干: A string t is called an anagram of the string s, if it is possible to rearrange letters in t so ...

  2. 【CodeForces - 574B】Bear and Three Musketeers (枚举边,思维,优秀暴力)

    题干: Do you know a story about the three musketeers? Anyway, you will learn about its origins now. Ri ...

  3. 【CodeForces - 608C】Chain Reaction (二分 或 dp ,思维)

    题干: 题目大意: 题意是在一条直线上坐落着不同位置的灯塔,每一个灯塔有自己的power level,当作是射程范围.现在从最右边的灯塔开始激发,如果左边的灯塔在这个灯塔的范围之内,那么将会被毁灭.否 ...

  4. 「一题多解」【CodeForces 85D】Sum of Medians(线段树 / 分块)

    题目链接 [CodeForces 85D]Sum of Medians 题目大意 实现一个setsetset,支持插入,删除,求∑a5k+3∑a5k+3\sum a_{5k+3}.注意,setsets ...

  5. 【CodeForces 997C】Sky Full of Stars(组合计数)

    题目链接:[CodeForces 997C]Sky Full of Stars 官方题解:Codeforces Round #493 - Editorial 题目大意:有一个n×nn×nn\times ...

  6. 【codeforces 812C】Sagheer and Nubian Market

    [题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...

  7. 【codeforces 508B】Anton and currency you all know

    [题目链接]:http://codeforces.com/contest/508/problem/B [题意] 给你一个奇数; 让你交换一次数字; 使得这个数字变成偶数; 要求偶数要最大; [题解] ...

  8. 【codeforces 711B】Chris and Magic Square

    [题目链接]:http://codeforces.com/contest/711/problem/B [题意] 让你在矩阵中一个空白的地方填上一个正数; 使得这个矩阵两个对角线上的和; 每一行的和,每 ...

  9. 【codeforces 807C】Success Rate

    [题目链接]:http://codeforces.com/contest/807/problem/C [题意] 给你4个数字 x y p q 要求让你求最小的非负整数b; 使得 (x+a)/(y+b) ...

最新文章

  1. Java项目:在线旅游系统(java+jsp+SSM+Spring+mysql+maven)
  2. postfix邮箱服务
  3. cmake 头文件 库文件 路径搜索 CMAKE_INCLUDE_PATH CMAKE_LIBRARY_PATH
  4. HTML锚点控制,跳转页面后定位到相应位置
  5. VistaDB 数据库,.NET的新选择
  6. OSI七层模型详解-开放系统互联参考模型详解
  7. 服务器显示数据库,显示数据库服务器上的数据库数据库
  8. VS中PCL库附加依赖项配置
  9. [angularjs]初学小记1
  10. mac下workbench轻松搭建(drools 7.11.0.Final版本)
  11. ulead gif animator_搞笑GIF:家庭聚餐,还有三十多个没来呢?|搞笑gif
  12. Spring Cloud服务网关 Zuul
  13. 移动开发或将被颠覆?
  14. 关于 MySQL 8.0 新特性“隐藏索引”的一点思考
  15. Fragment+ViewPager+ButterKnife时控件会报空指针问题
  16. 制定自动化测试实施计划
  17. 人工智能与安全论坛:智能与安全的融合与对抗
  18. 浏览器支持H.265解码总结
  19. 如何在win7旗舰版下运行汇编的debug、masm、link等
  20. PHP笔记——开发工具VS Code

热门文章

  1. 前端【vue】实现文档在线预览功能,在线预览pdf、word、xls、ppt等office文件
  2. C语言中getchar()函数的详解
  3. 使用pydot 画CNN网络结构图
  4. OpenCV 文字绘制----cv::putText详解
  5. Hadoop分布式集群
  6. 高并发处理之商品详情页
  7. java快速生成数据库文档
  8. Python test1
  9. 从头开始训练一个词性标注模型
  10. multiple definition of...