在乙個劃分成網格的操場上, 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: 複製
51 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個不同的樂隊。每個團隊至少有乙個偶像。現在要求重新安排佇列,使來自同一樂隊的偶像連續的站在一起。重新安排的辦法是,讓若干偶像出列 剩下的偶像不動 然後讓出列的偶像乙個個歸隊到原來的空位,歸隊的位...