WebGoC题解(13) 狐猬编程:GoC L4 结业测试 第4题 找木柴

题目描述

小明今天找了n跟木柴,但是木柴太多了,小明只能拿走m根木柴,小明希望拿走的木柴都是**剩下的木柴中最长的,**小明还画出以下图形

例如 输入

5 3

10 20 30 40 50

小明要拿走30 40 50 这3根木柴

从大到小画出以下图形

矩形的宽是20 ,矩形的高就是木柴的长度,两根木柴的距离是20 ,色号2,**先移动到(-350,-350)**再画图。

输入格式

第一行两个正整数n和m,分别表示小明找到n跟木柴,和要拿走m跟木柴,范围是 1<=m<=n<100

第二行n个正整数,分别表示不同木柴的长度,范围是【10,500】;

输出格式

相应的图形。

输入/输出例子1

输入:

5 2
80 40 60 20 100

输出:

样例解释

小明拿走了长度是100 和 80的木柴

解题思路

本题主要考察的是排序算法,因为题目中要把最高的m个矩形从高到矮画出来。

我们目前常用的是冒泡排序算法。

冒泡排序写法

写法1

复制代码
for(int i=1;i<=n;i++)
	{
		for(int j=i+1;j<=n;j++)
		{
			if(a[j]>a[i])
			{
				int t=a[i];
				a[i]=a[j];
				a[j]=t;
			}
		}
	}

写法2

复制代码
for(int i=1;i<n;i++)
{
    for(int j=n;j>i;j--)
    {
        if(a[j]>a[j-1])
        {
            int t=a[j];
            a[j]=a[j-1];
            a[j-1]=a[j];
        }
    }
}

教程上的排序算法:选择排序的写法

复制代码
for(int i=1;i<n;i++)
	{
		m=i;
		for(int j=i+1;i<=n;j++)
		{
			if(a[m]>a[j])m=j;
		}
		t=a[i]; a[i]=a[m]; a[m]=t;
	}

参考答案

复制代码
int main()
{
    int n,m,a[101];
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }

    for(int i=1;i<n;i++)//冒泡排序
    {
        bool f=false;
        for(int j=n;j>i;j--)
        {
            if(a[j]>a[j-1])
            {
                int t=a[j];
                a[j]=a[j-1];
                a[j-1]=t;
                f=true;
            }
        }
        if(f==false)break;
    }

    pen.up().moveTo(-350,-350).speed(10);
    for(int i=1;i<=m;i++)
    {
        pen.fd(a[i]/2.0).rr(20,a[i]).bk(a[i]/2.0);
        pen.rt(90).fd(40).lt(90);  
    }
    return 0;
}
相关推荐
goyeer几秒前
05.[SAP ABAP] ABAP中的运算符
算法·sap·abap·运算符
NAGNIP28 分钟前
面试官:BatchNorm、LayerNorm、GroupNorm、InstanceNorm 有什么本质区别?
算法·面试
Rock_yzh33 分钟前
LeetCode算法刷题——560. 和为 K 的子数组
数据结构·c++·学习·算法·leetcode·职场和发展·哈希算法
水水不水啊36 分钟前
通过一个域名,借助IPV6免费远程访问自己家里的设备
前端·python·算法
.格子衫.1 小时前
027动态规划之矩阵DP——算法备赛
算法·矩阵·动态规划
nju_spy1 小时前
力扣每日一题(11.10-11.29)0-1 和 k 整除系列
python·算法·leetcode·前缀和·单调栈·最大公约数·0-1背包
roman_日积跬步-终至千里1 小时前
【模式识别与机器学习(8)】主要算法与技术(下篇:高级模型与集成方法)之 元学习
学习·算法·机器学习
haing20191 小时前
Bezier曲线曲率极值的计算方法
人工智能·算法·机器学习·曲率极值
歌_顿1 小时前
深度学习算法以及优化器复习
人工智能·算法
Zero不爱吃饭1 小时前
位1的个数
算法