奶牛的編號 UPCOJ 3578

2021-08-04 14:04:15 字數 884 閱讀 2537

題目描述

有n(1≤n≤1000)頭奶牛,它們都被標上乙個優先等級編號:1,2或3。用來表示它們喝水時的優先次序,編號為l的最優先,編號為2的其次,編號為3的最後。每天奶牛開始時排成一行,但總是很亂,需要你把它們重新排成編號為1的奶牛在最前面,編號為2的其次,編號為3的奶牛在最後。你能計算出最少需要多少的交換次序來完成這次重排嗎?

輸入

第1行:1個整數n;

第2至n+i行:第i+l行有乙個整數表示開始佇列中第i頭奶牛的編號。

輸出

1行,只乙個整數,表示最少需要交換次數。

樣例輸入

9

2 2 1 3 3 3 2 3 1

樣例輸出

4
在讀入的時候記錄一下1 2 3三個數的數目,然後就可以確定排完序之後他們的界限,然後從1的區域開始掃,掃到2就優先去2的區域找,找不到就去3的區域找,掃到3同理,這樣就能保證每一次交換都是最優的,將2區域掃完之後也就完成了所有的交換。

#include 

using

namespace

std;

#define maxn 1007

int a[maxn],b[maxn],cnt[7],wall[7][2],n,result;

int main()

if(a[i] != b[i]) }}

cout

<< result << '\n';

}return

0;}

奶牛的編號

題目 題目描述 有n 1 n 1000 頭奶牛,它們都被標上乙個優先等級編號 1,2或3。用來表示它們喝水時的優先次序,編號為l的最優先,編號為2的其次,編號為3的最後。每天奶牛開始時排成一行,但總是很亂,需要你把它們重新排成編號為1的奶牛在最前面,編號為2的其次,編號為3的奶牛在最後。你能計算出最...

組合 奶牛編號

作為乙個神秘的電腦高手,farmer john 用二進位制數字標識他的奶牛。然而,他有點迷信,標識奶牛用的二進位制數字,必須只含有k位 1 1 k 10 當然,每個標識數字的首位必須為 1 fj按遞增的順序,安排標識數字,開始是最小可行的標識數字 由 1 組成的乙個k位數 不幸的是,他沒有記錄下標識...

奶牛編號 組合數

description 作為乙個神秘的電腦高手,farmer john 用二進位制數字標識他的奶牛。然而,他有點迷信,標識奶牛用的二進位制數字,必須只含有k位 1 1 k 10 當然,每個標識數字的首位必須為 1 fj按遞增的順序,安排標識數字,開始是最小可行的標識數字 由 1 組成的乙個k位數 不...