/*======================================================================

比饭量

总时间限制: 1000ms 内存限制: 65536kB

描述

3个人比饭量,每人说了两句话:

A说:B比我吃的多,C和我吃的一样多

B说:A比我吃的多,A也比C吃的多

C说:我比B吃得多,B比A吃的多。

事实上,饭量和正确断言的个数是反序的关系。

请编程按饭量的大小输出3个人的顺序。

输入

无输入

输出

按照饭量大小输出3人顺序,比如:

ABC

样例输入

样例输出

解析:这个题目在OpenJudge提交时,题目意思不清晰,应该按饭量从小到大的顺序输出字母

用三重for循环枚举所有可能的解

对每一种可能的解计算每一个人正确断言的数量

然后把饭量、正确断言数量分别打包到数组(把人对应的编号一起封装)

对两个数组进行排序(一个由大到小,另一个由小到大)

检测两个数组每一个元素对应的人名字是否一致,若所有人的名字一致,得到一个可行解。输出

继续循环寻找下一个可行解

========================================================================*/

#include

using namespace std;

struct person

{

int n;//饭量或者断言数量

char name;//名字

};

int main()

{

int a,b,c;//三者的范围都是1~3,这里把a、b、c的值看作他们的饭量(不一定要用1~3,只要能区分出三个数的大小就行了)

//当然,也可以换一下思路,用a、b、c表示饭量排名

int A,B,C;//表示断言正确的数量

struct person x[],y[],t;

int i,j,flag;

for(a=;a

{

for(b=;b

{

for(c=;c

{

A=(b>a)+(c==a);

B=(a>b)+(a>c);

C=(c>b)+(b>a);

/*假如三个人的饭量不会相等、三个人的断言正确数量也不会相等,

下面就判断a+A、b+B、c+C是否都相等,都等于3就行了。

但是这个题目,三个人饭量可能相等,断言正确数量也可能一样,必需用其他方式*/

//下面把a、b、c、A、B、C分别放到数组x、y当中。 然后对x、y数组进行排序

x[].n=a;x[].name='A';

x[].n=b;x[].name='B';

x[].n=c;x[].name='C';

y[].n=A;y[].name='A';

y[].n=B;y[].name='B';

y[].n=C;y[].name='C';

//对x数组按元素的饭量从大到小排序,对y数组按元素的断言正确数量从小到大排序

for(i=;i

{

flag=;

for(j=;j

{

if(x[j].n

{

flag=;

t=x[j];

x[j]=x[j+];

x[j+]=t;

}

}

if(flag) break; //if(flag==1) break;

}

for(i=;i

{

flag=;

for(j=;j

{

if(y[j].n>y[j+].n)

{

flag=;

t=y[j];

y[j]=y[j+];

y[j+]=t;

}

}

if(flag) break; //if(flag==1) break;

}

//从头到尾检查x和y数组每一个元素对应的是否是同一个人

for(i=;i

{

if(x[i].name!=y[i].name) break;

}

if(i==)

{//输出结果

for(i=;i>=;i--)

cout<

cout<

}

}

}

}

return ;

}

OpenJudge计算概论-取石子游戏

OpenJudge计算概论-取石子游戏[函数递归练习] /*====================================================================== ...

OpenJudge计算概论-完美立方【暂时就想到了枚举法了】

/*===================================== 完美立方 总时间限制: 1000ms 内存限制: 65536kB 描述 a的立方 = b的立方 + c的立方 + d的立 ...

Openjudge计算概论——数组逆序重放【递归练习】

/*===================================== 数组逆序重放 总时间限制:1000ms 内存限制:65536kB 描述 将一个数组中的值按逆序重新存放. 例如,原来的顺 ...

OpenJudge计算概论-计算书费

/*============================================== 计算书费 总时间限制: 1000ms 内存限制: 65536kB 描述 下面是一个图书的单价表: 计算 ...

OpenJudge 计算概论1007&colon;点评赛车

总时间限制: 1000ms 内存限制: 65536kB描述4名专家对4款赛车进行评论1)A说:2号赛车是最好的:2)B说:4号赛车是最好的:3)C说:3号赛车不是最好的:4)D说: B说错了.事实上只 ...

OpenJudge计算概论-最高的分数

/*======================================================== 最高的分数 总时间限制: 1000ms 内存限制: 65536kB 描述 孙老师 ...

OpenJudge计算概论-称体重【枚举法、信息数字化】

/*====================================================================== 称体重 总时间限制: 1000ms 内存限制: 655 ...

OpenJudge计算概论-求特殊自然数【枚举法】【将整数转成字符串】

/*======================================================================== 求特殊自然数 总时间限制: 1000ms 内存限制 ...

Openjudge计算概论-求序列中的众数

/*===================================== 求序列中的众数 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一个长度为N的整数序列 (不多于128 ...

随机推荐

迅雷VIP帐号获取小工具

自己写的迅雷vip帐号获取工具,主要是熟悉一下正则表达式 下载地址: 迅雷VIP获取工具 另附vip防踢补丁,不能使用最新迅雷,我使用的是迅雷尊享版2.0.12.258,使用了一段时间,至少没被踢出来 ...

&lbrack;总结&rsqb;FFMPEG视音频编解码零基础学习方法--转

ffmpeg编解码学习   目录(?)[-] ffmpeg程序的使用ffmpegexeffplayexeffprobeexe 1 ffmpegexe 2 ffplayexe 3 ffprobeexe ...

Commons Codec - 常见的编码解码

Base64 Base64 编码 assertEquals("T3chIQ==", Base64.encodeBase64String("Ow!!".getBy ...

ant脚本

jenkins在调用ant脚本时会遇到ant中的目标没有成功,但是最后的build状态却是success,如下图所示:代码中缺少一个},编译发生错误,最后的build成功. 解决方案:在关键的targ ...

Go - 第一个 go 程序 -- helloworld

创建程序目录 接着上一节的内容,在我们的workspace (D:\Gopher) 里面创建子目录 hello,他的绝对路径为:D:\Gopher\src\github.com\tuo\hello 创 ...

如何使用django操作数据库,向原有表中添加新的字段信息并建立一个多对多的关系?

(注:本人用的pycharm开发工具) 1.在你要添加新字段的app的 models.py 文件中添加需要新增的字段(book表新增authors字段并和author建立多对多关系,author表新增 ...

HTTP 报文格式

(a)GET,POST,PUT(更新)DELETE(删除) 首行中,请求报文只需包含路由,因为在发送请求前,tcp连接已经创建,协议版本 Header: 接收类型 (b)版本 + 状态码 Header ...

python 爬虫 重复下载 二次请求

在写爬虫的时候,难免会遇到报错,比如 4XX ,5XX,有些可能是网络的原因,或者一些其他的原因,这个时候我们希望程序去做第二次下载, 有一种很low的解决方案,比如是用  try  except t ...

Spring-bean的作用域

在大多数情况下,单例bean是很理想的方案.初始化和垃圾回收对象实例所带来的的成本只留给一些小规模任务,在这些任务中,让对象保持无状态并且在应用中反复重用这些对象可能并不合理.在这种情况下,将clas ...

成都Uber优步司机奖励政策(4月18日)

滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

c语言 3个人比饭量大小,OpenJudge计算概论-比饭量【枚举法、信息数字化】相关推荐

  1. 大象喝水编程c语言,OpenJudge计算概论-大象喝水

    /*========================================================= 大象喝水 总时间限制: 1000ms 内存限制: 65536kB 描述 一只大象 ...

  2. c语言碱基配对的算法,OpenJudge计算概论-配对碱基链

    /*===================================== 配对碱基链 总时间限制: 1000ms 内存限制: 65536kB 描述 脱氧核糖核酸(DNA)由两条互补的碱基链以双螺 ...

  3. 括号匹配openjudge c语言,OpenJudge计算概论-扩号匹配问题【这个用到了栈的思想】...

    /*====================================================================== 扩号匹配问题 总时间限制: 1000ms 内存限制: ...

  4. R语言使用epiDisplay包的summ函数计算dataframe的描述性统计汇总信息(名称、有效值个数、均值、中位数、标准差、最大值、最小值)

    R语言使用epiDisplay包的summ函数计算dataframe的描述性统计汇总信息(名称.有效值个数.均值.中位数.标准差.最大值.最小值) 目录

  5. c语言读png图片非隔行扫描,北京大学计算概论C语言经典课件Lecture4信息显示与多媒体技术.ppt...

    北京大学计算概论C语言经典课件Lecture4信息显示与多媒体技术 * * * * 控制在10页 * 有人说科学的作用是安抚,艺术的作用是颠覆.科学家严谨的思维和艺术家非凡的创造力.灵活的表现力之间看 ...

  6. OpenJudge计算概论-鸡尾酒疗法

    /*===================================== 鸡尾酒疗法 总时间限制: 1000ms 内存限制: 65536kB 描述 鸡尾酒疗法,原指"高效抗逆转录病毒治 ...

  7. OpenJudge计算概论-找和为K的两个元素

    /*============================================================== 找和为K的两个元素 总时间限制: 1000ms 内存限制: 65536 ...

  8. OpenJudge计算概论-字符串排序

    /*====================================================================== 字符串排序 总时间限制: 1000ms 内存限制: 6 ...

  9. OpenJudge计算概论-最长单词2

    /*======================================================================== 最长单词2 总时间限制: 1000ms 内存限制: ...

最新文章

  1. 微服务业务系统(Biz-UI)的中台构建之路
  2. 敏捷个人2012.8月份线下活动报道:Toastmasters、团队管理
  3. 动画原理与实现 浅析
  4. 关系型数据库是如何运作的
  5. 牛客网(剑指offer) 第三题 输入一个链表,从尾到头打印链表每个节点的值。
  6. wpf表格datagrid拖动列_这才是老板要的Excel表格,你做的太丑了!
  7. 命令行窗口常用的一些小技巧
  8. java定时任务中使用多线程_java项目中如何利用多线程实现一个定时器任务
  9. 小程序 | 云函数获取用户openid
  10. php 返回mp3,当从PHP提供mp3时,audio.duration在Safari上返回Infinity
  11. oracle jde优势介绍,Oracle JDE EnterpriseOne模块的详细功能介绍
  12. MS17-010漏洞复现(带win7虚拟机安装,零基础)
  13. 了解工作分解结构(WBS)
  14. 永洪bi mysql连接配置_永洪BI 如果不同步数据是做的数据库直连吗?
  15. 哔哩哔哩电脑版怎么下载视频?
  16. Elasticsearch5.6搭建及拼音中文混合搜索实现
  17. 快去抢票!今天开始!2020元旦春节火车票购票日程攻略来了
  18. java深拷贝的三种方式
  19. 机器学习(三):一文读懂线性判别分析(LDA)
  20. 电磁场仿真软件ANSYS Electronics下载附安装教程

热门文章

  1. Python基础教程:列表、字典、集合推导式
  2. python3 基础教程: 文件read方法(read、readline、readlines)
  3. python实现可以被with上下文管理的类或函数
  4. 0pp0r11如何更改语言_如何写才能避免重复率过高呢?
  5. 计算机中的 marshal 是什么意思?(列集:将数据从某种格式存为流格式的操作)(序列化)(marshalling、unmarshalling散集)
  6. 【中级软考】PV操作是什么?(passeren【通过、申请资源、减量】、vrijgeven【释放、释放资源、增量】【荷兰文】)(用于进程间同步)
  7. python numpy np.convolve()函数(返回两个一维序列的离散线性卷积)
  8. D435 pyrealsense 如何实时获取摄像头的曝光值?get_frame_metadata(rs.frame_metadata_value.actual_exposure)成功了(更新UWP)
  9. python opencv-4.1.0 cv::HersheyFonts 文字类型
  10. PyQt的QTableWidget的全面总结与归纳