0%

TOI 2021 入營考 A. 原始人排序

基本的因數性質

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include<bits/stdc++.h>
using namespace std;

int main(){
ios::sync_with_stdio(false);

int dt[1000];
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>dt[i];

}
stable_sort(dt,dt+n,[](int a,int b){
int ctA=0,ctB=0;

while(a>=1){
if(a%2==1){
ctA++;
}
a/=2;
}
while(b>=1){
if(b%2==1){
ctB++;
}
b/=2;
}
return ctA<ctB;
});

for(int i=0;i<n;i++){
cout<<dt[i]<<" ";
}
return 0;
}