zoukankan      html  css  js  c++  java
  • hdu 4712 Hamming Distance(随机数法)

    d.汉明距离是使用在数据传输差错控制编码里面的,汉明距离是一个概念,它表示两个(相同长度)字对应位不同的数量,

    我们以d(x,y)表示两个字x,y之间的汉明距离。对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。

    给出N个串,求出其中最小的汉明距离(其中某2个串的汉明距离是最小的)。

    s.随机数法。。。

    c.能不能过,看脸。。。

    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<time.h>
    using namespace std;
    
    int main(){
    
        //cout<<RAND_MAX<<endl;//32767
    
        int T;
        int N;
        char str[100005][10];
        int num[100005];
        int i;
        int j;
        int mi;
        int fuck;
        int shit;
        int tmp;
        int sum;
    
        scanf("%d",&T);
    
        while(T--){
            scanf("%d",&N);
            for(i=0;i<N;++i){
                scanf("%s",str[i]);
            }
    
            memset(num,0,sizeof(num));
            for(i=0;i<N;++i){
                for(j=0;j<5;++j){
                    if('0'<=str[i][j]&&str[i][j]<='9'){
                        num[i]=(num[i]<<4)+(str[i][j]-'0');
                    }
                    else{
                        num[i]=(num[i]<<4)+(10+str[i][j]-'A');
                    }
                }
            }
    
            mi=21;
            srand(time(NULL));
            for(i=0;i<400005;++i){
                fuck=(rand()*rand())%N;//这是个看脸的代码。。。
                shit=(rand()*rand())%N;
    
                if(fuck==shit){
                    continue;
                }
                tmp=num[fuck]^num[shit];
                sum=0;
                while(tmp>0){
                    sum=sum+(tmp&1);
                    tmp>>=1;
                }
                if(sum<mi){
                    mi=sum;
                }
            }
    
            printf("%d
    ",mi);
    
        }
    
        return 0;
    }
    View Code
  • 相关阅读:
    python基础-6 字典相关练习题
    python基础-5
    python基础-4
    python基础-3
    读书笔记:深入理解ES6 (七)
    读书笔记:深入理解ES6 (六)
    读书笔记:深入理解ES6 (五)
    读书笔记:深入理解ES6 (四)
    读书笔记:深入理解ES6 (三)
    读书笔记:深入理解ES6 (二)
  • 原文地址:https://www.cnblogs.com/gongpixin/p/5451213.html
Copyright © 2011-2022 走看看