http://acm.sdibt.edu.cn/JudgeOnline/problem.php?id=2324
題目大意:(如題)
輸入輸出:(如題)
解題思路:
簡單搜索。按遞增順序搜索要求的n個(gè)數(shù),然后跟前面的數(shù)判斷距離是否大于d,找到的一組解即為最小的。
注意:
1.0在每組數(shù)據(jù)里面都出現(xiàn)。
2.b給出了搜索的最大值:2^b-1。
3.計(jì)算兩個(gè)數(shù)a,b的距離,只要計(jì)算a^b的二進(jìn)制形式中1的個(gè)數(shù)。
核心代碼:
int dist(int x,int y) { int cnt,tmp; cnt=0; tmp=x^y; while(tmp>0) { cnt++; tmp-=(tmp&(-tmp)); } return cnt; }
更多建議: