题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6229

参考题解:https://blog.csdn.net/lifelikes/article/details/78452558

       https://www.cnblogs.com/cxhscst2/p/8215717.html

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define ull unsigned long long
  5. #define mst(a,b) memset((a),(b),sizeof(a))
  6. #define mp(a,b) make_pair(a,b)
  7. #define pi acos(-1)
  8. #define pii pair<int,int>
  9. #define pb push_back
  10. const int INF = 0x3f3f3f3f;
  11. const double eps = 1e-;
  12. const int MAXN = 15e4 + ;
  13. const int MAXM = 2e6 + ;
  14.  
  15. int n,k;
  16. int dx[] = {-,,,};
  17. int dy[] = {,-,,};
  18. map<pii,bool>ma;
  19. map<pii,int>sub;
  20.  
  21. bool judge(int x,int y) {
  22. if(x < || x >= n || y < || y >= n) return false;
  23. return true;
  24. }
  25.  
  26. int check(int x,int y) {
  27. if(x == || x == n - ) {
  28. if(y == || y == n - ) return ;
  29. else return ;
  30. } else {
  31. if(y == || y == n - ) return ;
  32. else return ;
  33. }
  34. }
  35.  
  36. int main() {
  37. #ifdef local
  38. freopen("data.txt", "r", stdin);
  39. #endif
  40. int cas = ;
  41. int t;
  42. scanf("%d",&t);
  43. while(t--) {
  44. ma.clear();
  45. sub.clear();
  46. scanf("%d%d",&n,&k);
  47. if(n == ) {
  48. printf("Case #%d: 1/1\n",cas++);
  49. continue;
  50. }
  51. ll ans1 = 16ll * (n - ) + 5ll * (n - ) * (n - ) + ;
  52. ll ans2 = 5ll * (1ll * n * (n + ) / - 2ll * (n - ) - ) + 8ll * (n - ) + ;
  53. while(k--) {
  54. int x,y;
  55. scanf("%d%d",&x,&y);
  56. if(ma[mp(x,y)]) {
  57. ans1 -= sub[mp(x,y)];
  58. if(x + y >= n - ) ans2 -= sub[mp(x,y)];
  59. sub[mp(x,y)] = ;
  60. } else {
  61. ma[mp(x,y)] = true;
  62. ans1 -= check(x,y);
  63. if(x + y >= n - ) ans2 -= check(x,y);
  64. sub[mp(x,y)] = ;
  65. }
  66. for(int i = ; i < ; i++) {
  67. int nx = x + dx[i], ny = y + dy[i];
  68. if(!judge(nx,ny)) continue;
  69. if(ma[mp(nx,ny)]) {
  70. if(sub[mp(nx,ny)]) {
  71. ans1--;
  72. if(nx + ny >= n - ) ans2--;
  73. sub[mp(nx,ny)]--;
  74. }
  75. } else {
  76. ma[mp(nx,ny)] = true;
  77. sub[mp(nx,ny)] = check(nx,ny) - ;
  78. ans1--;
  79. if(nx + ny >= n - ) ans2--;
  80. }
  81. }
  82. }
  83. ll gcd = __gcd(ans1,ans2);
  84. ans1 /= gcd, ans2 /= gcd;
  85. printf("Case #%d: %lld/%lld\n",cas++,ans2,ans1);
  86. }
  87. return ;
  88. }

ACM-ICPC 2017 沈阳赛区现场赛 M. Wandering Robots && HDU 6229(思维+期望)的更多相关文章

  1. ACM-ICPC 2017 沈阳赛区现场赛 G. Infinite Fraction Path && HDU 6223(BFS)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6223 参考题解:https://blog.csdn.net/qq_40482495/article/d ...

  2. ACM-ICPC 2016 沈阳赛区现场赛 I. The Elder && HDU 5956(斜率DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5956 题意:一颗树上每条边有个权值,每个节点都有新闻要送到根节点就是1节点,运送过程中如果不换青蛙就是 ...

  3. 2016 ACM/ICPC亚洲区青岛站现场赛(部分题解)

    摘要 本文主要列举并求解了2016 ACM/ICPC亚洲区青岛站现场赛的部分真题,着重介绍了各个题目的解题思路,结合详细的AC代码,意在熟悉青岛赛区的出题策略,以备战2018青岛站现场赛. HDU 5 ...

  4. HDU 4046 Panda (ACM ICPC 2011北京赛区网络赛)

    HDU 4046 Panda (ACM ICPC 2011北京赛区网络赛) Panda Time Limit: 10000/4000 MS (Java/Others)    Memory Limit: ...

  5. ACM总结——2017ACM-ICPC北京赛区现场赛总结

    现在距离比赛结束已经过了一个多星期了,也是终于有时间写下心得了.回来就是被压着做项目,也是够够的. 这次比赛一样是我和两个学弟(虽然是学弟,但我的实力才是最弱的T_T)一起参加的,成绩的话打铁,算是情 ...

  6. ACM-ICPC 2017 西安赛区现场赛 K. LOVER II && LibreOJ#6062. 「2017 山东一轮集训 Day2」Pair(线段树)

    题目链接:西安:https://nanti.jisuanke.com/t/20759   (计蒜客的数据应该有误,题目和 LOJ 的大同小异,题解以 LOJ 为准)     LOJ:https://l ...

  7. ACM-ICPC 2015 沈阳赛区现场赛 I. Triple && HDU 5517(二维BIT)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5517 题意:有二元组(a,b),三元组(c,d,e).当b == e时它们能构成(a,c,d)然后,当 ...

  8. ACM-ICPC 2015 沈阳赛区现场赛 F. Frogs && HDU 5514(容斥)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5514 题意:有m个石子围成一圈, 有n只青蛙从跳石子, 都从0号石子开始, 每只能越过xi个石子.问所 ...

  9. 2014ACM/ICPC亚洲区鞍山赛区现场赛1009Osu!

    鞍山的签到题,求两点之间的距离除以时间的最大值.直接暴力过的. A - Osu! Time Limit:1000MS     Memory Limit:262144KB     64bit IO Fo ...

随机推荐

  1. 《xv6 Appendices: PC Hardware and Boot loader》学习笔记

    MIT 6.828 Lecture 2的preparation要求阅读<xv6 book>的附录部分,附录包括"PC Hardware"和"The Boot ...

  2. Java web server 基本实现原理

    public class WebServer { //服务端Socket只要一个,所以定义成static, 同一时间只能一个线程访问(主线程) private static ServerSocket ...

  3. 网络编程[第三篇]基于tcp协议实现远程连接

    需要用到subprogress模块来远程控制cmd控制台程序来得到控制台的输出信息 一.服务端 —— 控制输出信息 import socket import subprocess #socket实例化 ...

  4. 【GCN】图卷积网络初探——基于图(Graph)的傅里叶变换和卷积

    [GCN]图卷积网络初探——基于图(Graph)的傅里叶变换和卷积 2018年11月29日 11:50:38 夏至夏至520 阅读数 5980更多 分类专栏: # MachineLearning   ...

  5. 数据库优化SQL

    sql优化规则: 1.对于查询,尽量不要使用全表扫描,尽量在where子句以及order by所对应的字段建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放 ...

  6. configure,make和make install关系

    linux编译安装中configure.make和make install各自的作用 ./configure是用来检测你的安装平台的目标特征的.configure根据给定的参数和系统环境会生成Make ...

  7. 怎样获取页面中所有带href属性的标签集合

    使用: document.links document.links instanceof HTMLCollection; 注意: 1. a 标签和 area 标签可以设置 href属性, 因此可以被获 ...

  8. Java通过Socket和动态代理实现简易RPC框架

    本文转自Dubbo作者梁飞大神的CSDN(https://javatar.iteye.com/blog/1123915),代码简洁,五脏俱全. 1.首先实现RpcFramework,实现服务的暴露与引 ...

  9. C#从服务器下载文件的四种方式

    //方法一:TransmitFile实现下载 string fileName = "ss.docx"; //客户端预设的文件名,导出时可修改  string filePath = ...

  10. 前端 vue/react 或者 js 导入/导出 xlsx/xls (带样式)表格的功能

    第一种导出表格的功能: yarn add xlsx script-loader file-saver xlsx-style 效果展示 xlsx-style的bug修复:node_module/xlsx ...