OpenJudge计算概论-称体重【枚举法、信息数字化】
/*======================================================================
称体重
总时间限制: 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[]={};//int z,q,s,l;
int flag1,flag2,flag3;
int i,j,flag;
struct person b[],t;
for(a[]=;a[]<=;a[]=a[]+)
{
for(a[]=;a[]<=;a[]=a[]+)
{
if(a[]==a[]) continue;
for(a[]=;a[]<=;a[]=a[]+)
{
if(a[]==a[]||a[]==a[]) continue;
for(a[]=;a[]<=;a[]=a[]+)
{
if(a[]==a[]||a[]==a[]||a[]==a[]) continue;
flag1=;flag2=;flag3=;
if(a[]+a[]==a[]+a[]) flag1=;
if(a[]+a[]>a[]+a[]) flag2=;
if(a[]+a[]<a[]) flag3=;
if(flag1+flag2+flag3==)
{
for(i=;i<;i++)
{
b[i].weight=a[i];
}
b[].name='z';
b[].name='q';
b[].name='s';
b[].name='l';
//下面是对数组b进行的冒泡排序
for(i=;i<;i++)
{
flag=;
for(j=;j<-i;j++)
{
if(b[j].weight<b[j+].weight)
{
flag=;
t=b[j];
b[j]=b[j+];
b[j+]=t;
}
}
if(flag) break; //if(flag==1) break;
}
for(i=;i<;i++)
{
cout<<b[i].name<<' '<<b[i].weight<<endl;
}
}
}
}
}
}
return ;
}
为何不是直接对a数组进行排序呢?假如直接对a数组排序,那就会在排序时改变了四层for循环的循环变量的值,造成循环流程混乱,无法寻找下一组解,结果莫名其妙了。
为何非要用a数组而不是用简单变量来代表那四个人呢?这个问题嘛……其实一开始的想法是没有使用b数组和结构体的呵呵,后来改来改去就变成现在这个样子了。其实都OK了。
OpenJudge计算概论-称体重【枚举法、信息数字化】的更多相关文章
- OpenJudge计算概论-取石子游戏
OpenJudge计算概论-取石子游戏[函数递归练习] /*====================================================================== ...
- OpenJudge计算概论-完美立方【暂时就想到了枚举法了】
/*===================================== 完美立方 总时间限制: 1000ms 内存限制: 65536kB 描述 a的立方 = b的立方 + c的立方 + d的立 ...
- Openjudge计算概论——数组逆序重放【递归练习】
/*===================================== 数组逆序重放 总时间限制:1000ms 内存限制:65536kB 描述 将一个数组中的值按逆序重新存放. 例如,原来的顺 ...
- OpenJudge计算概论-计算书费
/*============================================== 计算书费 总时间限制: 1000ms 内存限制: 65536kB 描述 下面是一个图书的单价表: 计算 ...
- OpenJudge 计算概论1007:点评赛车
总时间限制: 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 ...
随机推荐
- 关于VS2015找不到WIN32的解决办法
问题: 原配的Visual Studio 2015专业版不像之前的版本,在新建项目里面是找不到Win32模板的,那么怎么才能新建Win32项目和Win32控制台应用程序呢?先看如下图所示: 解决: 1 ...
- 爆破vcrkme01(已补上注册机)
系统 : Windows xp 程序 : vcrkme01 程序下载地址 :http://pan.baidu.com/s/1mh1n33y 要求 : 爆破 使用工具 :OD 可在“PEDIY Crac ...
- 破解 AD_CM#3
系统 : Windows xp 程序 : AD_CM#3 程序下载地址 :http://pan.baidu.com/s/1skwXPVn 要求 : 编写注册机 使用工具 :IDA & OD 可 ...
- CODEVS1073 家族 (并查集)
一道裸的并查集,练练手不错. program CODEVS1073; var i,j,m,n,q,x,y,k1,k2,z:longint; f:..] of longint; function fin ...
- java学习第八天
第九次课 目标 1. 多态 2. 抽象类 3. 接口 4. 内部类(了解) 一.多态polymorphism 追求”高内聚低耦合”通过三大特性: 封装继承及多态来实现. 多态:多种形态,”出去 ...
- LeetCode Minimum Path Sum (简单DP)
题意: 给一个n*m的矩阵,每次可以往下或右走,经过的格子中的数字之和就是答案了,答案最小为多少? 思路: 比较水,只是各种空间利用率而已. 如果可以在原空间上作修改. class Solution ...
- PAT (Basic Level) Practise:1017. A除以B
[题目链接] 本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数.你需要输出商数Q和余数R,使得A = B * Q + R成立. 输入格式: 输入在1行中依次给出A和B,中间以1空格 ...
- 五 浅谈CPU 并行编程和 GPU 并行编程的区别
前言 CPU 的并行编程技术,也是高性能计算中的热点,也是今后要努力学习的方向.那么它和 GPU 并行编程有何区别呢? 本文将做出详细的对比,分析各自的特点,为将来深入学习 CPU 并行编程技术打下铺 ...
- Standard C++ Programming: Virtual Functions and Inlining
原文链接:http://www.drdobbs.com/cpp/standard-c-programming-virtual-functions/184403747 By Josée Lajoie a ...
- 关于typedef的用法总结(转)
不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中.typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些 ...