当前位置: 首页 > news >正文

2024.ZCPC.M题 计算三角形个数

题目描述:

小蔡有一张三角形的格子纸,上面有一个大三角形。这个边长为 的大三角形, 被分成 个边长为 1 的小三角形(如图一所示)。现在,小蔡选择了一条水平边 删除(如图二所示),请你找出图上剩余三角形的数量为多少。

这道题的算法知识点对应的是c++的高精度,但是我是比较懒的,直接用python写了,python是不会有高精度的问题的,唯一的缺点就是运行速度慢

思路:

之后就是算删边以后剩余三角形的数量,分为两种情况,一种是在某行的第一个或这最后一个,另外就是在中间的,然后计算一下即可

代码如下:

# -*- coding: utf-8 -*-
n = int(input())
x,y = map(int,input().split())
ans = 0
d = {}
l = {}
l[1] = 1
d[1] = 0
d[2] = 1
for i in range(2,n+1):l[i] = l[i-1] + i * (i + 1) / 2
for i in range(3,n+1):d[i] = i * (i - 1) / 2 + d[i-2]
ans += d[n] + l[n]
print("全部三角形个数:{}".format(ans))
if y == 1 or y == x:ans -= xif n - x >= x:ans -= xelse :ans -= n - x
else :ans -= 2 * (x - 1)if n - x >= x:ans -= 2 * (x - 1)else :ans -= 1 + (n - x - 1) * 2
print("最终三角形个数:{}".format(ans))

加油

http://www.lryc.cn/news/373420.html

相关文章:

  • Java常见设计模式入门与实践
  • 110.平衡二叉树
  • 字符串数组——传递文本的不同方法实例
  • JDBC简介
  • RK3568平台(触摸篇)触摸屏基本原理
  • 【太原理工大学】软件系统安全—分析题
  • 【仪器仪表/电源专题】浮地信号的测试的四种方案对比
  • Centos7安装jdk8或11以及切换方案
  • 计算机二级Access选择题考点—代码篇
  • 海外仓系统如何让海外仓受益,WMS海外仓系统使用指南
  • 贪心-区间问题
  • 算法分析与设计期末考试复习GDPU
  • 分批次训练和评估神经网络模型
  • 【CS.AL】算法核心之分治算法:从入门到进阶
  • leetcode刷题记录:hot100强化训练2:二叉树+图论
  • 湘潭大学信息与网络安全复习笔记2(总览)
  • C语言:头歌使用函数找出数组中的最大值
  • 【技巧】Leetcode 191. 位1的个数【简单】
  • 【Pandas驯化-02】pd.read_csv读取中文出现error解决方法
  • linux下C语言如何操作文件(三)
  • 6.14作业
  • MySQL数据库管理(一)
  • Kafka使用教程和案例详解
  • TGI模型- 同期群-评论文本
  • ESP32 BLE学习(0) — 基础架构
  • 【JAVA】Java中Spring Boot如何设置全局的BusinessException
  • pdf.js实现web h5预览pdf文件(兼容低版本浏览器)
  • SSID简介
  • PS通过GTX实现SFP网络通信1
  • 前端面试项目细节重难点(已工作|做分享)(九)