洛谷 P1889 士兵站隊

2022-04-05 04:33:06 字數 791 閱讀 6367

在乙個劃分成網格的操場上, n個士兵散亂地站在網格點上。由整數 座標 (x,y) 表示。士兵們可以沿網格邊上、下左右移動一步,但在同時刻任一網格點上只能有名士兵。按照軍官的命令,們要整齊地列成個水平佇列,即排成 佇列,即排成 (x,y),(x+1,y), …,(x+n -1,y) 。如何選擇 x 和y的值才能使 士兵們以最少的總移動步數排成一列。

輸入格式:

檔案的第 1 行是士兵數 n,1≤n≤10000 。接下來 n 行是士兵的初始位置, 每行 2 個整數 x 和y,-10000 ≤x,y≤10000 。

輸出格式:

檔案中 只有乙個整 數是士兵排成一行需要的最少移動步。

輸入樣例#1: 複製

5

1 22 2

1 33 -2

3 3

輸出樣例#1: 複製

8
思路:小學奧數。
#include#include

#include

#include

using

namespace

std;

intn,ans;

intmidx,midy;

int x[10010],y[10010

];int

main()

else

for(int i=1;i<=n;i++)

ans+=abs(midx-x[i])+abs(midy-y[i]);

cout

<}

P1889 士兵站隊

題目描述 在乙個劃分成網格的操場上,n 個士兵散亂地站在網格點上,由整數座標 x,y 表示。士兵們可以沿網格邊上 下左右移動一步,但在同時刻任一網格點上只能有名士兵。按照軍官的命令,們要整齊地列成個水平佇列,即排成 佇列,即排成 x,y x 1,y x n 1,y 請求出如何選擇 x 和 y 的值才...

洛谷 P3694 邦邦的大合唱站隊

題目鏈結 m 很小,考慮狀壓。狀態 s 一共有 m 位,每一位代表當前樂隊是否排好 即樂隊所有成員都站在一起 並假設所有排好的樂隊都站在前面。f s 表示狀態為 s 時最少移動的偶像數目。不管所有排好的樂隊順序如何,它們的總數是一定的。列舉 s 狀態中的每乙個 0 如果將它變成 1 並接在所有排好的...

洛谷P3694 邦邦的大合唱站隊 簽到題

bang dream 裡的所有偶像樂隊要一起大合唱,不過在排隊上出了一些問題。n個偶像排成一列,他們來自m個不同的樂隊。每個團隊至少有乙個偶像。現在要求重新安排佇列,使來自同一樂隊的偶像連續的站在一起。重新安排的辦法是,讓若干偶像出列 剩下的偶像不動 然後讓出列的偶像乙個個歸隊到原來的空位,歸隊的位...