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

简介: /*====================================================================== 称体重 总时间限制: 1000ms 内存限制: 65536kB 描述 赵、钱、孙、李四个人中既有大人也有小孩,给他们称体重时发现,他们每个人的体重都不一样,且体重(单位:公斤)恰好是10的整数倍,且他们的体重都不高 于50公斤,已知赵、钱两人的体重之和恰好等于孙、李两人的体重之和; 赵、李两人的体重之和大于孙、钱两人的体重之和,并且赵、孙俩人的体重之和还小于钱的体重。
/*======================================================================
称体重
总时间限制: 1000ms 内存限制: 65536kB
描述
赵、钱、孙、李四个人中既有大人也有小孩,给他们称体重时发现,他们每个人的体重都不一样,且体重(单位:公斤)恰好是10的整数倍,且他们的体重都不高 于50公斤,已知赵、钱两人的体重之和恰好等于孙、李两人的体重之和; 赵、李两人的体重之和大于孙、钱两人的体重之和,并且赵、孙俩人的体重之和还小于钱的体重。请编写一个程序,按照由大到小的顺序,打印出四人的姓氏的首字 母和体重数(中间用空格隔开,每人一行)。
输入
无
输出
打印出四人的姓氏的首字母和体重数(中间用空格隔开,每人一行)。
样例输入
无
样例输出
z 10
q 20
s 30
l 40
(以上输出仅用于说明格式)
========================================================================*/

这个题思路是枚举,对枚举得到的解排序并输出,然后继续枚举找下一个解并排序输出,往复循环。

#include<iostream>
using namespace std;
struct person
{
    int weight;
    char name;
};
int main()
{
    int a[4]={0};//int z,q,s,l;
    int flag1,flag2,flag3;
    int i,j,flag;
    struct person b[4],t;
    for(a[0]=10;a[0]<=50;a[0]=a[0]+10)
    {
        for(a[1]=10;a[1]<=50;a[1]=a[1]+10)
        {
            if(a[0]==a[1]) continue;
            for(a[2]=10;a[2]<=50;a[2]=a[2]+10)
            {
                if(a[2]==a[0]||a[2]==a[1]) continue;
                for(a[3]=10;a[3]<=50;a[3]=a[3]+10)
                {
                    if(a[3]==a[0]||a[3]==a[1]||a[3]==a[2]) continue;
                    flag1=0;flag2=0;flag3=0;
                    if(a[0]+a[1]==a[2]+a[3]) flag1=1;
                    if(a[0]+a[3]>a[2]+a[1]) flag2=1;
                    if(a[0]+a[2]<a[1]) flag3=1;
                    if(flag1+flag2+flag3==3)
                    {
                        for(i=0;i<4;i++)
                        {
                            b[i].weight=a[i];
                        }
                        b[0].name='z';
                        b[1].name='q';
                        b[2].name='s';
                        b[3].name='l';
                        //下面是对数组b进行的冒泡排序
                        for(i=1;i<4;i++)
                        {
                            flag=1;
                            for(j=0;j<4-i;j++)
                            {
                                if(b[j].weight<b[j+1].weight)
                                {
                                    flag=0;
                                    t=b[j];
                                    b[j]=b[j+1];
                                    b[j+1]=t;
                                }
                            }
                            if(flag) break; //if(flag==1) break;
                        }
                        for(i=0;i<4;i++)
                        {
                            cout<<b[i].name<<' '<<b[i].weight<<endl;
                        }
                    }
                }
            }
        }
    }
    return 0;
}

为何不是直接对a数组进行排序呢?假如直接对a数组排序,那就会在排序时改变了四层for循环的循环变量的值,造成循环流程混乱,无法寻找下一组解,结果莫名其妙了。

为何非要用a数组而不是用简单变量来代表那四个人呢?这个问题嘛……其实一开始的想法是没有使用b数组和结构体的呵呵,后来改来改去就变成现在这个样子了。其实都OK了。

相关文章
|
4月前
|
运维 供应链 安全
SaaS模式云HIS数字化医院信息系统源码
云HIS具有可扩展、易共享、易协同、低成本、体验号、更便捷、易维护的优势,重新定义了数字化医院信息系统,实现数字化医院信息系统的转型升级。云 HIS 系统具有功能完善,涵盖临床各业务部门,采集、抽提、汇总、存贮、展现所有的临床诊疗资料(包括:数据、文本、图形、图像、声音等),是医疗机构实现临床信息化的理想信息平台。
74 1
|
4月前
|
存储 索引 Windows
PACS影像信息数字化存储系统源码,C/S架构的医学影像系统源码
全院影像设备联网与影像信息数字化存储,建立涵盖全院的PACS/RIS系统,实现从预约、登记、分诊、排队叫号、检查、诊断阅片、报告发布、自助胶片打印等流程化管理。 PACS系统应用在医院影像科时,它直接与CT、MR、ECT、DSA和DR等提供DICOM标准图像的医学设备进行软硬对接。该系统应用在超声、内窥镜、病理等科室时,提供视频、普通图片的医学设备进行软硬对接。检查结果以DICOM、BMP、JPG等多种格式进行长期保存,形成影像历史、诊断历史。这些历史数据可供医生重复调阅,作为编写诊断报告的重要参考。
PACS影像信息数字化存储系统源码,C/S架构的医学影像系统源码
|
4月前
|
弹性计算 资源调度 Cloud Native
融合云计算与分布式系统架构:拥抱数字化时代的技术进化
在当今数字化时代,云计算和分布式系统架构成为企业转型的关键工具。本文将探讨这两项技术的融合,以及它们在提升效率、降低成本和增强可扩展性方面的潜力。通过深入分析云计算和分布式系统架构的原理和优势,我们将看到如何利用这些技术推动企业的数字化转型。
|
4月前
|
存储 监控 Oracle
医院数字化LIS(检验信息系统)源码
医院数字化LIS(检验信息系统)源码
44 0
|
10月前
|
存储 监控 数据挖掘
C#医院数字化LIS(检验信息系统)源码
LIS系统能够自动处理大量的医学数据,包括样本采集、样本处理、检测分析、报告生成等。它能够快速、准确地进行化验检测,提高医院的运营效率。LIS系统还提供了丰富的数据分析功能,能够对医院化验室的业务流程进行全面、细致的监控。
110 0
|
人工智能 弹性计算 Cloud Native
阿里云计算巢加速器:让优秀的软件生于云、长于云—入选企业深度访谈—精准医疗迎数字化新机遇,百奥利盟携手阿里云为创新生物药提速上市
阿里云计算巢加速器:让优秀的软件生于云、长于云—入选企业深度访谈—精准医疗迎数字化新机遇,百奥利盟携手阿里云为创新生物药提速上市
514 0
|
人工智能 运维 Kubernetes
阿里云计算巢加速器:让优秀的软件生于云、长于云—入选企业深度访谈—工程师背后的工程师,KodeRover携手阿里云帮助企业构建数字化基建
阿里云计算巢加速器:让优秀的软件生于云、长于云—入选企业深度访谈—工程师背后的工程师,KodeRover携手阿里云帮助企业构建数字化基建
207 0
|
安全 网络协议
中国互联网络信息中心助力中小企业数字化转型
中国互联网络信息中心助力中小企业数字化转型——“互联网基础资源赋能百万中小企业数字化行动”正式启动
521 0
|
4天前
|
Cloud Native 持续交付 云计算
云原生技术:企业数字化转型的新引擎
在当今数字化浪潮中,云原生技术作为推动企业创新与转型的关键力量,正引领着一场技术革命。本文深入探讨了云原生的核心概念、技术特点及其对企业IT架构和运营模式的深远影响。通过分析云原生在实际案例中的应用,揭示了其如何助力企业实现敏捷开发、弹性扩展和成本优化等目标。同时,本文也展望了云原生技术的未来发展趋势,强调了掌握这一技术对于企业保持竞争力的重要性。
22 10
|
2天前
|
存储 安全 网络安全
网络安全与信息安全:构建安全防线的多维策略在当今数字化时代,网络安全已成为维护个人隐私、企业机密和国家安全的关键要素。本文旨在探讨网络安全漏洞的本质、加密技术的重要性以及提升公众安全意识的必要性,以期为构建更加坚固的网络环境提供参考。
本文聚焦于网络安全领域的核心议题,包括网络安全漏洞的现状与应对、加密技术的发展与应用,以及安全意识的培养与实践。通过分析真实案例,揭示网络安全威胁的多样性与复杂性,强调综合防护策略的重要性。不同于传统摘要,本文将直接深入核心内容,以简洁明了的方式概述各章节要点,旨在迅速吸引读者兴趣,引导其进一步探索全文。

热门文章

最新文章