必威体育Betway必威体育官网
当前位置:首页 > IT技术

5-血型遗传检测

时间:2019-08-16 20:40:00来源:IT技术作者:seo实验室小编阅读:77次「手机版」
 

血型遗传

血型遗传对照表如下:

父母血型

子女会出现的血型

子女不会出现的血型

O与O

O

A,B,AB

A与O

A,O

B,AB

A与A

A,O

B,AB

A与B

A,B,AB,O

——

A与AB

A,B,AB

O

B与O

B,O

A,AB

B与B

B,O

A,AB

B与AB

A,B,AB

O

AB与O

A,B

O,AB

AB与AB

A,B,AB

O

请实现一个程序,输入父母血型,判断孩子可能的血型。给定两个字符串father和mother,代表父母的血型,请返回一个字符串数组,代表孩子的可能血型(按照字典序排列)。

测试样例:”A”,”A”

返回:[”A”,“O”]

方法:暴力法

解析:根据题意,利用 if-else语句进行判断输出即可得到所要求得的孩子可能性血型。

代码一:

#include<iOStream>

#include<string>

using namespace std;



int main()

{

       string f,m;

       cin>>f>>m;

       if(f=="O"&&m=="O")

              cout<<"O"<<endl;

       else if((f=="A"&&m=="A")||(f=="A"&&m=="O")||(f=="O"&&m=="A"))

              cout<<"A,O"<<endl;

       else if((f=="A"&&m=="B")||(f=="B"&&m=="A"))

              cout<<"A,AB,B,O"<<endl;  

       else if((f=="A"&&m=="AB")||(f=="AB"&&m=="A")||(f=="AB"&&m=="B")||(f=="B"&&m=="AB")||(f=="AB"&&m=="AB"))

              cout<<"A,B,AB"<<endl;

       else if((f=="B"&&m=="B")||(f=="B"&&m=="O")||(f=="O"&&m=="B"))

              cout<<"B,O"<<endl;

       else

              cout<<"A,B"<<endl;

       return 0;

}

代码二:

#include<iostream>

#include<string>

#include<vector>

using namespace std;



vector<string> chkBlood(string father, string mother)

{

       vector<string> vec;

       if(father=="O"&&mother=="O")

              vec.push_back("O");

       else if((father=="A"&&mother=="A")||(father=="A"&&mother=="O")||(father=="O"&&mother=="A"))

       {

              vec.push_back("A");

              vec.push_back("O");

       }

       else if((father=="A"&&mother=="B")||(father=="B"&&mother=="A"))

       {

              vec.push_back("A");

              vec.push_back("AB");

              vec.push_back("B");

              vec.push_back("O");

       }

       else if((father=="A"&&mother=="AB")||(father=="AB"&&mother=="A")||(father=="AB"&&mother=="B")||(father=="B"&&mother=="AB")||(father=="AB"&&mother=="AB"))

       {

              vec.push_back("A");

              vec.push_back("AB");

              vec.push_back("B");

       }

       else if((father=="B"&&mother=="B")||(father=="B"&&mother=="O")||(father=="O"&&mother=="B"))

       {

              vec.push_back("B");

              vec.push_back("O");

       }

       else

       {

              vec.push_back("A");

              vec.push_back("B");

       }

       return vec;

}



int main()

{

       string f,m;

       vector<string> vec;

       cin>>f>>m;

       vec=chkBlood(f,m);

       for(int i=0;i<vec.size();i++)

              cout<<vec[i]<<" ";

       cout<<endl;

       return 0;

}

相关阅读

深度学习(目标检测。图像分割等)图像标注工具汇总

对于监督学习算法而言,数据决定了任务的上限,而算法只是在不断逼近这个上限。世界上最遥远的距离就是我们用同一个模型,但是却有不同

3D环境中碰撞检测

Axis-aligned bounding boxes(AABB包围盒)原文地址 在游戏中,为了简化物体之间的碰撞检测运算,通常会对物体创建一个规则的几何外形将

javascript检测浏览器的缩放状态实现代码

这里所说的缩放不是指浏览器大小的缩放,而是指浏览器网页内容的百分比缩放(按Ctrl和+号键或者-号键的缩放)。检测这种缩放有很种方法

目标检测(六)--SPPNet

空间金字塔池化 空间金字塔池化层简介:           在对图片进行卷积操作的时候,卷积核的大小是不会发生变化的额,反向调节的权

从YOLOv1到YOLOv3,目标检测的进化之路

本文来自 CSDN 网站,作

分享到:

栏目导航

推荐阅读

热门阅读