索隆的难题

★实验任务
索隆是有名的路痴,为了不让索隆走丢,娜美给了索隆一本地图。该地图有 N 个城市,
编号从 1 到 N。 每个城市有个代号, 索隆每到一个城市只能知道该城市的代号而不知道该城
市的编号,现有一份编号与代号对应的清单,你能帮索隆尽快地找到所在城市的编号吗?
★数据输入
输入第一行为两个正整数N (1< =N < =1000000)M1<=M<=10000) 表示有 N 个城
市,M 个询问
接下来N 行,每行一个整数 ai0<=ai<=100000000),第i 行表示编号 i 的城市的代号
ai。这N 个整数各不相同。
接下来一行为一个正整数M (1<=M < =10000) ,表示有 M 个询问。
接下来M 行,每行一个整数 b0<=b<=100000000),表示当前所在城市的代号。
★数据输出
对于每个询问,输出一行一个整数,当前所在城市的编号,数据保证有解。
输入示例    输出示例
6 3            1

4              2

5              5

7

10

8

2

4

5

8


 
            #include <stdio.h>  
#include <stdlib.h>  
struct City
{
    int code;
    int n;
    City *next;
};

int main(void)
{
    int N, M, mode, i = 0;
    scanf("%d%d", &N, &M);
    int Num, t;
    mode = 65500;

    City **list = (City **)malloc(mode*sizeof(City *));
    City **list_temp = (City **)malloc(mode*sizeof(City *));
    for (i = 0; i<mode; i++)
        list[i] = list_temp[i] = NULL;
    for (i = 1; i <= N; i++)
    {
        scanf("%d", &Num);
        t = Num%mode;
        if (list[t] != NULL)
        {
            list_temp[t]->next = (City *)malloc(sizeof(City));
            list_temp[t]->next->code = Num;
            list_temp[t]->next->n = i;
            list_temp[t]->next->next = NULL;
            list_temp[t] = list_temp[t]->next;
        }
        else
        {
            list[t] = (City *)malloc(sizeof(City));
            list[t]->code = Num;
            list[t]->n = i;
            list[t]->next = NULL;
            list_temp[t] = list[t];
        }
    }
    City *cur;
    for (i = 0; i<M; i++)
    {
        scanf("%d", &Num);
        cur = list[Num%mode];
        while (cur != NULL)
        {
            if (cur->code == Num)
            {
                printf("%d\n", cur->n);
                break;
            }
            cur = cur->next;
        }
    }
    return 0;
}

       

### 回答1: 好的,我可以为您展示如何使用Python的turtle库画出一个索隆的图像。 首先,您需要在Python中导入turtle库。可以使用以下命令完成此操作: ```python import turtle ``` 然后,您可以使用turtle库中的函数来画出索隆的图像。以下是一个可能的代码示例: ```python # 创建一个turtle对象 zoro = turtle.Turtle() # 设置画笔的颜色和粗细 zoro.pencolor("black") zoro.pensize(3) # 开始画索隆的头部 zoro.circle(-80, 90) zoro.circle(-20, 180) zoro.circle(-80, 90) zoro.forward(100) # 画眼睛 zoro.penup() zoro.goto(-40, 50) zoro.pendown() zoro.fillcolor("white") zoro.begin_fill() zoro.circle(10) zoro.end_fill() zoro.penup() zoro.goto(-30, 50) zoro.pendown() zoro.fillcolor("black") zoro.begin_fill() zoro.circle(5) zoro.end_fill() # 画鼻子和嘴巴 zoro.penup() zoro.goto(0, 10) zoro.pendown() zoro.fillcolor("black") zoro.begin_fill() zoro.circle(10) zoro.end_fill() zoro.penup() zoro.goto(20, 10) zoro.pendown() zoro.circle(10, 180) # 画剑 zoro.penup() zoro.goto(-50, -100) zoro.pendown() zoro.color("grey") zoro.fillcolor("grey") zoro.begin_fill() zoro.forward(100) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(40) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(40) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(60) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(40) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(40) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(40) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(60) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(40) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(40) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(40) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(60) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(40) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(40) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(40) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(60) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(40) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(40) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(40) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(60) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(40) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(40) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(40) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(60) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(40) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(40) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(20) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(40) zoro.left(90) zoro.forward(20) zoro.right(90) zoro.forward(20) zoro.end_fill() # 隐藏画笔 zoro.hideturtle() # 显示画布 turtle.done() ``` 这段代码将使用turtle库中的函数来画出一个索隆的图像。您可以根据需要调整代码中的参数,以实现不同的效果。 ### 回答2: Python的turtle库是一个绘图库,可以用于绘制各种图形,包括动画和艺术品。要画索隆,我们可以利用turtle库中的功能来绘制一个类似索隆的形状。 首先,我们需要导入turtle库,并创建一个画布和一个海龟的实例对象。然后,我们可以使用turtle库提供的函数来控制海龟的位置和方向,从而绘制出索隆的形状。 在绘制索隆的过程中,我们可以使用turtle库中的函数来绘制索隆的头部、身体、四肢和剑等部分。可以使用turtle库中的画线、填充颜色、选择画笔颜色等函数来绘制出具体的形状和颜色。 画完索隆的形状后,我们可以使用turtle库中的函数来展示出绘制结果,并保持画布的显示状态。此外,我们还可以使用turtle库提供的函数来保存绘制结果为图片文件,方便以后使用或分享。 总结起来,要使用turtle库画索隆,我们需要导入库,创建画布和海龟实例对象,使用库中的函数来绘制出索隆的形状,展示绘制结果,保存绘制结果,并保持画布显示。在绘制的过程中,我们可以根据索隆的形状和细节,使用适当的函数和参数来实现绘制效果。 ### 回答3: Python的turtle库是一个绘制图形的库,在其中通过一系列指令可以控制一个小乌龟对象在窗口上进行绘图。如果要使用turtle库画索隆,我们可以通过一系列的移动和旋转指令来实现。 首先,我们需要导入turtle库: ``` import turtle ``` 然后,我们可以创建一个小乌龟对象,命名为zoro: ``` zoro = turtle.Turtle() ``` 接下来,我们可以通过一些turtle库提供的函数来设置索隆的画笔颜色、线条粗细等属性,从而使绘制效果更加贴近原作中的样子。 然后,我们可以开始绘制索隆的头部。首先,我们将画笔向前移动一定距离,然后以一定的角度旋转,再向前移动一定距离,重复这一过程多次,最后画出头部的轮廓。 接着,我们可以绘制索隆的身体。可以通过向前移动一定距离,再旋转一定角度来实现绘制身体的过程。 最后,我们可以绘制索隆的双臂、双腿和剑。同样,通过移动和旋转指令,可以使小乌龟对象按照我们设定的路径绘制出索隆的双臂、双腿和剑。 绘制完成后,我们可以通过turtle库提供的函数来保存绘制结果,或者在窗口中展示绘制的图案。 总的来说,使用Python的turtle库可以通过一系列的移动和旋转指令来绘制索隆的图案。通过调整绘图的参数和路径,我们可以使绘制出的图案更加逼真,并且可以根据需求对绘图进行编辑和保存。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值