首页 > 代码库 > UVA1368
UVA1368
用一个二维数组装m个字符串,然后用一个数组装每个字符串的hamming距离。找到最小的hanming距离即可
#include<stdio.h> #include<string.h> //比较两个字符串有多少个元素不同 int hamming(char s1[],char s2[],int n){ int count=0; for(int i=0;i<n;i++) if(s1[i] != s2[i]) count++; return count; } int main(){ int m,n; char s[50][1000]; int a[1000]; int count; scanf("%d %d",&m,&n); for(int i=0;i<m;i++) scanf("%s",s[i]); for(int i=0;i<m;i++){ count=0; for(int j=0;j<m;j++) count+=hamming(s[i],s[j],n); a[i]=count; } for(int i=0;i<m;i++) printf("a[%d]=%d\n",i,a[i]); int min=0; int mini=0; min=10000; for(int i=0;i<m;i++){ if(a[i] < min){ min=a[i]; mini=i; } if(a[i] == min){ if(strcmp(s[mini],s[i])>0) mini=i; } } printf("%s\n",s[mini]); return 0; }
UVA1368
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。