Rabbits —— HDU-6227
生活随笔
收集整理的這篇文章主要介紹了
Rabbits —— HDU-6227
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:
有n只兔子在不同的位置,任意一只兔子可以跳到其余任兩只兔子(必須保證它們中間有空位)中間,問最多可移動多少次?
思路:
可看作從任一側的兔子向中間插空,因此可以將所有兔子中間的空位數相加,再減去兩側較小的數字(最左側兩只兔子間距離與最右側兩只兔子間距離的較小的值)。
AC代碼:
#include<iostream> #include<vector> #include<cstring> using namespace std;int main() {int t, n, sum, addr[500];int front, rear;cin >> t;while(t--) {sum = 0;memset(addr, 0, sizeof(addr));cin >> n >> addr[0];for(int i = 1; i < n; i++) {cin >> addr[i];sum += addr[i] - addr[i-1] - 1;}front = addr[1] - addr[0] - 1;rear = addr[n-1] - addr[n-2] - 1;if(front <= rear) {sum -= front;} else {sum -= rear;}cout << sum << endl;}return 0; } 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Rabbits —— HDU-6227的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 倒数第二次恋爱剧情介绍
- 下一篇: 请问如下效果的Multiple Sele