• 2023年9月青少年软件编程(C 语言) 等级考试试卷(八级)


    2023年9月青少年软件编程(C 语言) 等级考试试卷(八级)

    第 1 题    最短路径问题

    平面上有n个点(n<=100),每个点的坐标均在-10000~10000之间。其中的一些点之间有连线。

    若有连线,则表示可从一个点到达另一个点,即两点间有通路,通路的距离为两点间的直线距离。现在的任务是找出从一点到另一点之间的最短路径

    输入

    共n+m+3行,其中: 第一行为整数n。 第2行到第n+1行(共n行) ,每行两个整数x和y,描述了一个点的坐标。 第n+2行为一个整数m,表示图中连线的个数。 此后的m 行,每行描述一条连线,由两个整数i和j组成,表示第i个点和第j个点之间有连线。 最后一行:两个整数s和t,分别表示源点和目标点。

    输出

    仅一行,一个实数(保留两位小数),表示从s到t的最短路径长度。

    样例输入


    0 0 
    2 0 
    2 2 
    0 2 
    3 1 

    1 2 
    1 3 
    1 4 
    2 5 
    3 5 
    1 5
    样例输出

    3.41


    第 2 题    控制公司

    有些公司是其他公司的部分拥有者,因为他们获得了其他公司发行的股票的一部分。例如,福特公司拥有马自达公司12%的股票。据说,如果至少满足了以下条件之一,公司A就可以控制公司B了:

    l  公司A = 公司B。

    l  公司A拥有大于50%的公司B的股票。

    l  公司A控制K(K >= 1)个公司,记为C1, ..., CK,每个公司Ci拥有xi%的公司B的股票,并且x1+ .... + xK > 50%。(ps:A可以控制自己,即Ci可以为A)

    你将被给予一系列的三对数(i,j,p),表明公司i拥有公司j的p%的股票。计算所有的数对(h,s),表明公司h控制公司s。

    写一个程序读入三对数(i,j,p),并且找出所有的数对(h,s),使得公司h控制公司s。

    输入

    第一行: N,表明接下来三对数的数量。 第二行到第N+1行:每行三个整数作为一个三对数(i,j,p),如上文所述。 I,J≤100,N,P≤100

    输出

    输出零个或更多个的控制其他公司的公司。每行包括两个整数表明序号为第一个整数的公司控制了序号为第二个整数的公司。将输出的每行以第一个数字升序排列(并且第二个数字也升序排列来避免并列)。请不要输出控制自己的公司。

    样例输入

    3
    1 2 80
    2 3 80
    3 1 20
    样例输出

    1 2
    1 3
    2 3

    答案和更多内容请查看网站:【试卷中心 -- C/C++ 五级/六级/其它】

    网站链接 

    青少年软件编程历年真题模拟题实时更新

  • 相关阅读:
    国赛高教杯使用python/matlab必会基础数学建模-数据处理模块(课程4)
    维昇药业冲刺港交所上市:暂未实现商业化,2021年亏损约4.9亿元
    Web Audio API 第6章 高级主题
    基于 iframe 的微前端框架 —— 擎天
    Day14-尚品汇-图片懒加载
    HyperLynx中层叠设计实例
    Java泛型详解
    疫苗预约系统,疫苗预约管理系统,疫苗预约小程序系统设计与实现
    【OpenCV】Chapter9.边缘检测与图像分割
    VPN(虚拟专用网)攻略大全,你一定会用到!
  • 原文地址:https://blog.csdn.net/No0d1es/article/details/133961107