freepascal吧 关注:250贴子:915
  • 15回复贴,共1

大师们,这题怎么做?

只看楼主收藏回复

植物大战僵尸这款游戏中,有一种植物武器叫辣椒炸弹,在草坪中的任意一格摆放它可以把草坪中该行上的所有僵尸瞬间消灭,也就是说,如果在第i行中任意位置摆放一个炸弹,第i行中的所有僵尸就瞬间都被杀死了。现在我们假定草坪有r行c列,草坪中有n只僵尸,僵尸不移动,现在给你k个樱桃炸弹,要求只能使用这K个炸弹来消灭这些僵尸,请问最多可以杀死多少只僵尸。(快速排序)


1楼2013-08-18 16:10回复
    (⊙o⊙)…


    IP属地:加拿大来自Android客户端2楼2013-08-19 08:54
    收起回复
      广告
      立即查看
      好难的样子


      IP属地:浙江3楼2013-08-27 17:35
      回复
        樱桃炸弹?辣椒炸弹?


        4楼2013-08-29 11:30
        收起回复
          僵尸的位置有规律吗


          5楼2013-11-20 20:25
          回复
            (-__-)b


            6楼2015-10-29 20:53
            回复
              搜索


              来自手机贴吧7楼2015-11-08 13:41
              回复
                有规定每格只能站一个僵尸吗?


                8楼2016-07-29 15:56
                回复
                  广告
                  立即查看
                  如果所有僵尸站在同一格,一个全杀


                  9楼2016-07-29 15:57
                  回复
                    贪心吧


                    IP属地:江苏10楼2016-08-11 16:32
                    回复
                      快排后取前k个


                      IP属地:陕西来自手机贴吧11楼2016-08-16 18:03
                      回复
                        idon'tno


                        12楼2016-11-03 20:25
                        回复
                          var r,c,k,n,t,j,i,a1,s,b1:longint;
                          a,b:array[1..10000] of longint;
                          begin
                          read(r,c,k,n);
                          for i:=1 to n do
                          begin
                          read(a1,b1);
                          inc(a[a1]);b[a1]:=a1;
                          end;
                          for i:=1 to r-1 do
                          for j:=i+1 to r do
                          if (a[i]<a[j])or((a[i]=a[j])and(b[i]>b[j])) then
                          begin
                          t:=a[i];a[i]:=a[j];a[j]:=t;
                          t:=b[i];b[i]:=b[j];b[j]:=t;
                          end;
                          for i:=1 to k do inc(s,a[i]);
                          writeln(s);
                          for i:=1 to k-1 do
                          for j:=i+1 to k do
                          if b[i]>b[j] then
                          begin
                          t:=b[i];b[i]:=b[j];b[j]:=t;
                          end;
                          for i:=1 to k do
                          write(b[i],' ');
                          end.


                          14楼2017-08-03 19:05
                          回复