第一题
小A刚学了二进制,他十分激动。为了确定他的确掌握了二进制,你给他出了这样一道题目:给定N个非负整数,将这N个数字按照二进制下1的个数分类,二进制下1的个数相同的数字属于同一类。求最后一共有几类数字?
直接用bitset
#include<bits/stdc++.h>
using namespace std;
int main(){
// bitset<100> b;
int t;
cin>>t;
while(t--){map<int,int>mp;
int n;
cin>>n;
int ans=0;
for(int i=0;i<n;i++)
{
int a;
cin>>a;
if(!mp[bitset<40>(a).count()])
{
mp[bitset<40>(a).count()]++;
ans++;
}
}
cout<<ans<<endl;
}
return 0;
}
b.any(); //查找b是否存在1?
b.none(); //b中不存在1吗?
b.count(); //b中1的个数</