hdu4712-随机化算法

来源:互联网 发布:mac os 下安装win8 编辑:程序博客网 时间:2024/06/04 19:03

随机化算法是一种随机生成结果答案正确或者错误凭运气的疯狂提交,这种做法很容易让工作人员拿刀砍死你接下来一题就是随机化算法题

题目大意:就是求这组数中求哪两个值的异或最小

直接随机过

题目链接


#include<iostream>#include<cstdlib>#include<cstdio>#include<cstring>#include<ctime>#include<cmath>#include<algorithm>using namespace std;const int mx = 1e5;int a[mx+5];int get_one(int x){int ans = 0;while(x){if(x&1) ans++;x >>= 1;}return ans;}int main(){int t,n;scanf("%d",&t);while(t--){time(0);int n;scanf("%d",&n);for(int i = 1; i <= n; i++)scanf("%x",&a[i]);int ans = 80;for(int i = 1; i <= mx; i++){int x = rand()%n+1;int y = rand()%n+1;while(y == x)y = rand()%n+1;int sum = a[x]^a[y];ans = min(ans,get_one(sum));}printf("%d\n",ans);}return 0;}


0 0
原创粉丝点击