WebGoC题解(18) 630.电线杆(2019NHOI小乙)

题目描述

小C在农场的附近看到有n颗电线杆排成一行,相邻之间距离为20。它们高度可能不一样,但高度相同的电线杆顶端有电线连接。如下面示意图中,电线杆用粗细为6的垂直直线画,电线用粗细为2的水平直线画。给定每个电线杆的高度,请用goc编程画出示意图。比如:n=4, 高度为:100 50 50 100,示意图如下:

           

blob.png

                                   

输入格式

第一行1个正整数n,2<=n<=15。

第二行n个正整数,依次表示从左到右的电线杆的高度。

输出格式

 正确的图形。

输入/输出例子1

输入:

7

200 60 80 40 200 80 200

输出:

blob.png

解题思路 

从当前的电线杆向后找,如果找到有和当前电线杆一样高的,把它们连线,并继续循环。 

参考答案 

int main()
{
    int n,a[16];
    cin>>n;

    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }

    pen.speed(10);

    for(int i=1;i<=n;i++)
    {
        pen.fd(a[i]);
        for(int j=i+1;j<=n;j++)//向后找
        {
            if(a[j]==a[i])//一样高
            {
                pen.size(2);
                pen.rt(90).fd((j-i)*20).bk((j-i)*20).lt(90);//连线
                pen.size(6);
            }
        }
        pen.bk(a[i]).up().rt(90).fd(20).down().lt(90);//准备画下一条电线杆
    }

    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值