贪心,回答不同的兔子颜色一定不同。
回答相同的兔子,颜色不一定相同,划分即可。
class Solution {
public:
int numRabbits(vector<int>& answers) {
map<int,int> mp;
int N = answers.size();
for(int i=0;i<N;i++) mp[answers[i]]++;
int ans = 0;
for(map<int,int>::iterator p=mp.begin();p!=mp.end();p++){
ans += (p->second + p->first)/ (p->first+1)*(p->first+1);
}
return ans;
}
};