제목 :
아오 이순신 N의 길이는 양의 정수의 시퀀스 A는 보유 = {A [1], A [2], A [3] ... A [N]}.
소형이 심한 문제점 박사 가축 :
컬럼의 숫자는 이렇게 재 배열이 A 열에 충족의 수 (A)의 모든 [I] * A [I + 1] (1 ≤ I ≤ N - 1)는 4의 배수이다.
샤오 이순신은 지금 열 수 박사 가축 후 요구 사항을 충족하기 위해 재 배열 할 수 있는지 여부를 결정해야합니다.
아이디어 :
SUM 0은 초기입니다
각 숫자에 대한 통계 :
- 4로 나눌 경우, 합계 + = 2;
- (2)에 의한 4로 나누어 있지만 나눌가없는 경우, 합계 + = 1이라고한다;
- 2로 나누어가없는 경우, 합계 + = 0이라고한다;
최종 합계는 제 그렇지 예에 비하여, 배열 크기와 동일한보다 크면 나는 안개 낀에 장님이 왜 나 한테 물어하지 마십시오.
#include <iostream>
#include <vector>
using namespace std;
bool f(vector<int> &vec){
int sumof2 = 0;
for (int i = 0; i < vec.size(); ++i){
int max = 2;
while (max && vec[i]%2 == 0){
sumof2 += 1;
--max;
vec[i] /= 2;
}
}
return sumof2 >= vec.size();
}
int main(){
int total;
cin >> total;
for (int i = 0; i < total; ++i){
int n;
vector<int> vec;
cin >> n;
for (int j = 0; j < n; ++j){
int t;
cin >> t;
vec.push_back(t);
}
if (f(vec)){
cout << "Yes"<<endl;
}else{
cout << "No"<<endl;
}
}
return 0;
}