首页 > 编程语言 >CSP真题答案《202309-01、02》基于Python的实现

CSP真题答案《202309-01、02》基于Python的实现

时间:2024-08-12 09:56:25浏览次数:12  
标签:02 01 202309 num1 num2 thedate initalnum input kdate

注意:注释在测试CSP时应全部删除!!!

第一题:

# 键盘输入两个数以空格隔开,分别为n,m
n,m = map(int, input().split( ))
# 根据n值可以循环输入n行值,得到一个列表(操作数)
madenum = [list(map(int, input().split())) for _ in range(n)]
# 根据m值可以循环输入m行值,得到一个列表(初始数组)
initalnum = [list(map(int, input().split())) for _ in range(m)]
# 循环初始数组
for num1 in initalnum:
    # 每个数组都全部进行操作行为
    for madenum1 in madenum:
        num1[0] += madenum1[0]
        num1[1] += madenum1[1]
    print(num1[0],num1[1])

第二题:

# 需要用到前缀和的思想
from math import cos,sin
n,m = map(int, input().split( ))
madenum = [list(map(float, input().split())) for _ in range(n)]
initalnum = [list(map(int, input().split())) for _ in range(m)]
# 前缀和(积):将n个操作数中的动作统计起来,拉伸为积,旋转为和
kdate = [1]
thedate = [0]
for j in range(n):
    if madenum[j][0] == 1.0:
        kdate.append(kdate[j]* madenum[j][1])
        thedate.append(thedate[j])
    else:
        kdate.append(kdate[j])
        thedate.append(thedate[j]+madenum[j][1])
# 将每个数进行操作:将i之前的操作给去除!!
for initalnum_num in initalnum:
    num1 = initalnum_num[0:2]
    num2:list = initalnum_num[2:4]
    thenum = thedate[num1[1]]-(thedate[num1[0]-1])
    knum = kdate[num1[1]]/(kdate[num1[0]-1])
    num2[0] = num2[0] * knum
    num2[1] = num2[1] * knum
    # 这里注意要采用临时变量,因为横坐标和纵坐标变换时都包含了双方上一个的坐标
    num3 = num2[0]
    num4 = num2[1]
    num2[0] = num3*cos(thenum) - num4*sin(thenum)
    num2[1] = num3*sin(thenum) + num4*cos(thenum)
    print(num2[0],num2[1])

第二题想要得到满分还是需要用到一些方法,简化计算,要不然服务器会运行超时!

标签:02,01,202309,num1,num2,thedate,initalnum,input,kdate
From: https://blog.csdn.net/c2310572426/article/details/141123563

相关文章

  • 0218-地址解析协议
    环境Time2022-11-20VirtualBox7.0.2Rust1.65.0pnet0.31.0CentOS7前言说明参考:https://docs.rs/pnet_packet/latest/pnet_packet/index.html目标使用两台虚拟机,通过IP地址,获取到目标主机的MAC地址。日常使用的时候,都是使用IP连接服务器,需要使用地址解析协......
  • 0219-使用 TAP 来进行通信
    环境Time2022-11-20WSL-Ubuntu22.04Rust1.65.0pnet0.31.0tun-tap0.1.3前言说明参考:https://docs.rs/pnet_packet/latest/pnet_packet/index.html参考:https://www.kernel.org/doc/html/latest/networking/tuntap.html目标通过TAP来模拟二层设备,接收之前发送的......
  • 0220-发送 ARP 回应
    环境Time2022-11-20WSL-Ubuntu22.04Rust1.65.0pnet0.31.0tun-tap0.1.3前言说明参考:https://docs.rs/pnet_packet/latest/pnet_packet/index.html参考:https://www.kernel.org/doc/html/latest/networking/tuntap.html目标使用TAP后,接收到ARP操作系统不再自动......
  • 0216-跨网卡通信
    环境Time2022-11-20VirtualBox7.0.2Rust1.65.0pnet0.31.0CentOS7前言说明参考:https://docs.rs/pnet_packet/latest/pnet_packet/index.html目标使用虚拟机,启动CentOS系统,然后添加多块网卡进行通信。查看网卡[root@centos7~]#iplinklist1:lo:<LOOPBACK......
  • 0217-同网段跨主机通信
    环境Time2022-11-20VirtualBox7.0.2Rust1.65.0pnet0.31.0CentOS7前言说明参考:https://docs.rs/pnet_packet/latest/pnet_packet/index.html目标使用两台虚拟机,启动CentOS系统,然后进行跨主机的通信。主机1网卡[root@centos7~]#hostnamecentos7[root@cento......
  • 【408DS算法题】进阶011-20年真题_三元组的最小距离
    Index真题题目分析实现总结真题题目定义三元组(a,b,c)(a,b,c均为正数)的距离D=|a-b|+|b-c|+|c-a|给定3个非空整数集合S1、S2和S3,按升序分别存储在3个数组中。设计一个尽可能高效的算法,计算并输出所有可能的三元组(a,b,c)......
  • Ideas of Problems in Aug. 2024
    \(\text{LuoguP1552[APIO2012]派遣}\)前置芝士:可并堆(左偏树)或斜堆或启发式合并。本题题意概括为:给定一颗以\(1\)为根的树,每个点有权值\(L_i\),花费\(C_i\),可以选择一个以某个结点为根的子树,并从其中选出一个点集\(T\)满足\(\sum_{i\inT}C_i\leqM\),那么此次的价......
  • 【SPIE出版】第四届计算机视觉、应用与算法国际学术会议(CVAA 2024)
    计算机视觉、应用与算法的领域,一直在飞速发展,第四届计算机视觉、应用与算法国际学术会议(CVAA2024) 将汇聚世界各地的顶尖学者、研究人员和企业代表,共同分享和交流计算机视觉在各个领域的最新研究成果、技术突破和产业应用。我们希望本次会议的成果能对计算机科学领域的知识做......
  • 2024年智能医疗与可穿戴智能设备国际学术会议(SHWID 2024)
    2024年智能医疗与可穿戴智能设备国际学术会议(SHWID2024)将于 2024年10月18-20日在广东广州举行。本次会议主要围绕“智能医疗与可穿戴智能设备”的最新研究展开,旨在荟聚世界各地该领域的专家、学者、研究人员及相关从业人员,分享研究成果,探索热点问题,交流新的经验和技术。202......
  • How to buildORB-SLAM on ubuntu in 2024?
    1removeGTK3sudoaptremovelibgtk3*2installopencvdepenenciessudoaptinstallbuild-essentialcmakegitpkg-configlibgtk-3-dev\libavcodec-devlibavformat-devlibswscale-devlibv4l-dev\libxvidcore-devlibx264-devlibjpeg-devlibpng-devlibt......