以为是贪心,结果不是,2333

贪心最后对自己绝对有利的情况

点我

  1. #include<cstdio>
  2. #include<iostream>
  3. #include<algorithm>
  4. #include<cstring>
  5. #include<cmath>
  6. #include<queue>
  7. #include<map>
  8. using namespace std;
  9. #define MOD 1000000007
  10. const int INF=0x3f3f3f3f;
  11. const double eps=1e-;
  12. typedef long long ll;
  13. #define cl(a) memset(a,0,sizeof(a))
  14. #define ts printf("*****\n");
  15. const int MAXN=;
  16. int n,m,tt;
  17. int a[MAXN];
  18. int main()
  19. {
  20. int i,j,k;
  21. #ifndef ONLINE_JUDGE
  22. freopen("1.in","r",stdin);
  23. #endif
  24. scanf("%d",&tt);
  25. int ca=;
  26. while(tt--)
  27. {
  28. for(i=;i<=;i++) scanf("%d",a+i);
  29. int st=,sum[],a1,a2; //st记录当前轮到谁了,sum[0]记录的是A的稳定步数,sum[1]记录的是B的稳定步数
  30. cl(sum);
  31. sum[]+=a[]*;
  32. sum[]+=a[]*;
  33. if(a[]!=) //只有一个的时候,谁先放谁的稳定步数会多一步
  34. {
  35. if(a[]%==)
  36. {
  37. sum[]++;
  38. st^=;
  39. }
  40. }
  41. a1=a[]+a[]; //对A有利
  42. a2=a[]+a[]; //对B有利
  43. if(a1>a2)
  44. {
  45. int w=a1-a2;
  46. sum[]+=w/; //A只能获得其中一半的稳定步数,B什么都得不到
  47. if(w%==)
  48. {
  49. if(st==)
  50. {
  51. sum[]++;
  52. }
  53. st^=;
  54. }
  55. }
  56. else if(a2>a1)
  57. {
  58. int w=a2-a1;
  59. sum[]+=w/; //B只能获得其中一半的稳定步数,A什么都得不到
  60. if(w%==)
  61. {
  62. if(st==)
  63. {
  64. sum[]++;
  65. }
  66. st^=;
  67. }
  68. }
  69. a1=a[]+a[]+a[]+a[];
  70. st^=a1&; //仅仅改变步数
  71. a1=a[]+a[]; //对B最不利,B要多走这个
  72. a2=a[]+a[]; //对A最不利
  73. if(a1>a2)
  74. {
  75. int w=a1-a2;
  76. sum[]+=w/; //A只能获得其中一半的稳定步数,B什么都得不到
  77. if(w%==)
  78. {
  79. if(st==)
  80. {
  81. sum[]++;
  82. }
  83. st^=;
  84. }
  85. }
  86. else if(a2>a1)
  87. {
  88. int w=a2-a1;
  89. sum[]+=w/; //B只能获得其中一半的稳定步数,A什么都得不到
  90. if(w%==)
  91. {
  92. if(st==)
  93. {
  94. sum[]++;
  95. }
  96. st^=;
  97. }
  98. }
  99. printf("Case #%d: ",ca++);
  100. if(sum[]==sum[])
  101. {
  102. if(st)puts("Alice");
  103. else puts("Bob");
  104. }
  105. else if(sum[]>sum[])
  106. puts("Alice");
  107. else puts("Bob");
  108. }
  109. }

hdu 4023 2011上海赛区网络赛C 贪心+模拟的更多相关文章

  1. hdu 4026 2011上海赛区网络赛F TSP ****

    没看过TSP,先mark //4838039 2011-10-27 23:04:15 Accepted 4026 2343MS 31044K 3143 B C++ Geners //状态压缩DP的TS ...

  2. hdu 4025 2011上海赛区网络赛E 压缩 ***

    直接T了,居然可以这么剪枝 题解链接:点我 #include<cstdio> #include<map> #include<cstring> #define ll ...

  3. hdu 4028 2011上海赛区网络赛H dp+map离散

    一开始用搜索直接超时,看题解会的 #include<iostream> #include<cstdio> #include<map> #include<cst ...

  4. hdu 4027 2011上海赛区网络赛G 线段树 成段平方根 ***

    不能直接使用成段增减的那种,因为一段和的平方根不等于平方根的和,直接记录是否为1,是1就不需要更新了 #include<cstdio> #include<iostream> # ...

  5. hdu 4038 2011成都赛区网络赛H 贪心 ***

    贪心策略 1.使负数为偶数个,然后负数就不用管了 2.0变为1 3.1变为2 4.2变为3 5.若此时操作数剩1,则3+1,否则填个1+1,然后回到5

  6. hdu 4035 2011成都赛区网络赛E 概率dp ****

    太吊了,反正我不会 /* HDU 4035 dp求期望的题. 题意: 有n个房间,由n-1条隧道连通起来,实际上就形成了一棵树, 从结点1出发,开始走,在每个结点i都有3种可能: 1.被杀死,回到结点 ...

  7. hdu 4044 2011北京赛区网络赛E 树形dp ****

    专题训练 #include<stdio.h> #include<iostream> #include<string.h> #include<algorithm ...

  8. hdu 4050 2011北京赛区网络赛K 概率dp ***

    题目:给出1-n连续的方格,从0开始,每一个格子有4个状态,左右脚交替,向右跳,而且每一步的步长必须在给定的区间之内.当跳出n个格子或者没有格子可以跳的时候就结束了,求出游戏的期望步数 0:表示不能到 ...

  9. hdu 4049 2011北京赛区网络赛J 状压dp ***

    cl少用在for循环里 #include<cstdio> #include<iostream> #include<algorithm> #include<cs ...

随机推荐

  1. bootstrap按钮

    按钮 基类 -btn 样式 btn-default(默认) btn-link(链接) 大小 btn-*[lg,sm,xs] 状态 active disabled <!DOCTYPE HTML&g ...

  2. Ubuntu里面软件的安装与卸载

    在Ubuntu里面,有时候碰到软件配置错了,这是重新再安装的话,会检测到已安装,系统不会再重新安装,就需要卸载之后重装 1.通过deb包安装的情况: 安装.deb包: 代码:sudo dpkg -i ...

  3. Kendo UI

    http://www.cnblogs.com/libingql/category/585455.html http://www.scala-china.net/discuz/forum.php?mod ...

  4. 【转】WebMagic-总体流程源码分析

    转自:http://m.blog.csdn.net/article/details?id=51943601 写在前面 前一段时间开发[知了]用到了很多技术(可以看我前面的博文http://blog.c ...

  5. Django~Excel,PDF

    # Text file #response = HttpResponse(mimetype='text/plain')  #response['Content-Disposition'] = 'att ...

  6. 20145213《Java程序设计》实验五Java网络编程及安全

    20145213<Java程序设计>实验五Java网络编程及安全 实验内容 1.掌握Socket程序的编写. 2.掌握密码技术的使用. 3.设计安全传输系统. 实验预期 1.客户端与服务器 ...

  7. ramnit病毒

    今天打开Hbuilder,发现每个html文档都有如下代码: <SCRIPT Language=VBScript><!--DropFileName = "svchost.e ...

  8. 解决sqlite3_key的问题

    报错内容显示如下: ld: warning: ignoring file /Users/rowling/Library/Developer/Xcode/DerivedData/zhinengbango ...

  9. SQLServer 批量插入数据的两种方法

    SQLServer 批量插入数据的两种方法-发布:dxy 字体:[增加 减小] 类型:转载 在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Ins ...

  10. 统计 F-test 和 T-test

    1 显著性差异 如果样本足够大,很容易有显著性差异.样本小,要有显著性差异很难. y是因变量,x是自变量 2 F-test与T-test Ftest也称ANOVA,是用来检测一个y下的不同level的 ...