zoukankan      html  css  js  c++  java
  • ACM | HDU|6227_Rabbit

     
     
     
    题意:
        有n只兔子分别占据不同的位置,任意一只兔子可以插入任意两只兔子的之间,但要求两只兔子之间要有空位,求这样的移动次数最多能够有多少?
     
    在这里每一只兔子没有区别,可以看做把最左端或者最右端的兔子放入中间的插空,从左到右或者从右到左,就可以得到移动的最多次数了。一句话,就是先把所有两只兔子之间的距离叠加起来,再去减去min(最左端的两只兔子的距离,最右端的两只兔子的距离)。
     
     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 
     4 int main()
     5 {
     6     int t,n,ans;
     7     int position[5005];
     8     while(~scanf("%d",&t)) {
     9         while(t--)
    10         {
    11             scanf("%d",&n);
    12             ans = 0;
    13             for(int i = 0; i < n; i++)
    14                 scanf("%d",&position[i]);
    15             for(int i = 1; i < n; i++)
    16                 ans += (position[i] - position[i-1]-1);
    17             
    18             ans -= min(position[1] - position[0]-1,position[n-1] - position[n-2]-1);
    19             cout<<ans<<endl;    
    20         }
    21         
    22     }
    23 
    24     return 0;
    25 }
  • 相关阅读:
    IIS5布署MVC3
    操作数数据类型 ntext 对于 max 运算符无效
    iis配置
    IIS取消目录浏览
    mediamind SyncAds
    告诉你如何做网站运营
    xml as3解析
    mediamind 组件
    AIR for androd 笔记
    开发AIR for android 大象游戏合集开发总结
  • 原文地址:https://www.cnblogs.com/jj81/p/7822061.html
Copyright © 2011-2022 走看看