重排數列 C 方法

2021-08-17 10:41:24 字數 907 閱讀 8659

小易有乙個長度為n的正整數數列a = 。

牛博士給小易出了乙個難題:

對數列a進行重新排列,使數列a滿足所有的a[i] * a[i + 1](1 ≤ i ≤ n - 1)都是4的倍數。

小易現在需要判斷乙個數列是否可以重排之後滿足牛博士的要求。

輸入描述:

輸入的第一行為數列的個數t(1 ≤ t ≤ 10),

接下來每兩行描述乙個數列a,第一行為數列長度n(1 ≤ n ≤ 10^5)

第二行為n個正整數a[i](1 ≤ a[i] ≤ 10^9)

輸出描述:

對於每個數列輸出一行表示是否可以滿足牛博士要求,如果可以輸出yes,否則輸出no。

輸入例子1:

2 3

1 10 100

4 1 2 3 4

輸出例子1:

yes

no

//思路:將所有的數都分為三類,a類:能被4整除的;b類:能被2整除單數不能被4整除的;c類:奇數

//判斷方法:n個a類數可以帶走2n+1個位置,n個b類數可以帶走n-1個位置,要判斷是否為0

#include

#include

using

namespace

std;

int main()

else

if(value % 2 != 0)

else

}if(count2 > 0)

else

} else

else }}

for(auto it = answers.begin();it != answers.end();it++)

cout

0;}

重排數列(7)

此題 牛客網網易2018秋招筆試真題 有乙個長度為n的正整數數列a 對該數列進行重新排列,使數列a滿足所有的a i a i 1 1 i n 1 都是4的倍數。判斷某一數列重新排列之後是否滿足以上要求。輸入第一行為需要判斷的數列個數t 1 t 10 接下來每兩行,第一行表示數列長度n 1 n 10 5...

8 重排數列

小易有乙個長度為n的正整數數列a 牛博士給小易出了乙個難題 對數列a進行重新排列,使數列a滿足所有的a i a i 1 1 i n 1 都是4的倍數。小易現在需要判斷乙個數列是否可以重排之後滿足牛博士的要求。輸入描述 輸入的第一行為數列的個數t 1 t 10 接下來每兩行描述乙個數列a,第一行為數列...

網易2018校招 重排數列

程式設計題 重排數列 時間限制 1秒 空間限制 100768k 小易有乙個長度為n的正整數數列a 牛博士給小易出了乙個難題 對數列a進行重新排列,使數列a滿足所有的a i a i 1 1 i n 1 都是4的倍數。小易現在需要判斷乙個數列是否可以重排之後滿足牛博士的要求。輸入描述 輸入的第一行為數列...