UVA 11737 Extreme Primitive Society

本文介绍了一个简单的算法问题:计算两组基因数据之间的最小差异。通过使用C++实现,该算法遍历两个布尔数组来找出所有可能的匹配并计算其差值,最终输出经过特定处理后的最小差异值。

非常容易的一个题;

只要判断两种基因相差的最小值就行;

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 using namespace std;
 5 
 6 bool a[105],b[105];
 7 int x,y;
 8 
 9 int main()
10 {
11     int n,ca=1;
12     while(scanf("%d",&n)==1)
13     {
14         memset(a,0,sizeof a);
15         memset(b,0,sizeof b);
16         bool flag=0;
17         while(n--)
18         {
19             scanf("%d%d",&x,&y);
20             if(x==y)flag=1;
21             a[x]=1;
22             b[y]=1;
23         }
24         int mi=10000;
25         for(int i=0; i<=100; i++)
26         {
27             if(a[i]==0)continue;
28             for(int j=0; j<=100; j++)
29             {
30                 if(b[j]==0)continue;
31                 mi=min(mi,abs(i-j));
32             }
33         }
34         if(!flag) mi+=mi==0;
35         printf("Case %d : %d\n", ca++, (mi + 1)>>1);
36     }
37     return 0;
38 }
View Code

 

转载于:https://www.cnblogs.com/yours1103/p/3422403.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值