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

基本的因數性質

#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;
}

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *