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

OD C卷 - 结对编程

结对编程(200)

  • 某部门计划通过结队编程来进行项目开发,部门有N名员工,每个员工有唯一的职级,三个员工为一组,结队分组规则如下:
  • 选出序号为i,j,k的员工,职级分别为level[i], level[j], level[k],满足level[i]<level[j]<level[k] 或者 level[i] > level[j] > level[k] 其中0<i<j<k<n
  • 计算可能组合的小组数量,同一员工可以参加多个小组;

输入描述:
第一行:员工总数n,【1,6000】
第二行:按序号依次排列的员工的职级,level[i] 在【1,10^5】
输出描述:
可能结对的小组数量

示例1
输入:
4
1 2 3 4
输出:
4
说明:
(1,2,3)(1,2,4) (1,3,4) (2,3,4)

示例2
输入:
3
5 4 7
输出:
0

思路:

  • 找到满足两个条件的小组;
    • 条件1,0<i<j<k<n;
    • 条件2,level[i]<level[j]<level[k] 或者 level[i] > level[j] > level[k]
  • 两组对应相乘
 
n = int(input())
nums = [int(x) for x in input().split(" ")]           
compare_count = {}
for i in range(n):compare_count[i]= [0,0,0,0]result = 0
k=1
while(True):if(k>=n):breakelse :for j in range(k):if (nums[j] < nums[k]) : compare_count[k][0] +=1elif (nums[j] > nums[k]) :compare_count[k][1] +=1k+=1for i in range(n-2, 0,-1):for j in range(n-1,i,-1):if (nums[j] < nums[i]) : compare_count[i][2] +=1elif (nums[j] > nums[i]) : compare_count[i][3] +=1for i in range(n):temp = compare_count[i]result +=  temp[0] * temp[3] + temp[1] * temp[2]print(result)
http://www.lryc.cn/news/425670.html

相关文章:

  • AcWing 723. PUM
  • 编译安装php7.4.33正确开启opcache,不只是去掉opcache.enable=1前面的分号
  • ComfyUI - 在服务器中部署 AIGC 绘画的 ComfyUI 工具 教程
  • MySQL中的distinct和group by哪个效率更高?
  • STM32F103C8T6单片机原理图设计(PCB板)
  • Qt自定义控件:关于大佬“飞扬青云“的自定义UI控件的使用教程(MinGw,MSVC)
  • 关于RCE
  • 深入理解npm:从入门到精通
  • Docker入门教程:10分钟掌握基础
  • NLP实验-基于预训练模型的文本分类
  • Table API SQL的概念和通用API
  • 【网络】UDP和TCP之间的差别和回显服务器
  • Electron:摄像头录制和屏幕录制
  • 【uniapp】vue3+vite配置tailwindcss
  • 从源码到应用:医疗陪诊系统与在线问诊小程序开发详解
  • mysql数据库中decimal数据类型比较大小
  • 掌控库存,简化管理 — InvenTree 开源库存管理系统
  • Linux---项目自动化构建工具-make/Makefile
  • 嘉立创EDA个人学习笔记1(PCB板介绍)
  • (转)Restful接口设计(1)
  • Python进阶之3D图形
  • 机器学习深度学习中的搜索算法浅谈
  • 基于IMX8M_plus+FPGA+AI监护仪解决方案
  • 仿RabbitMq实现简易消息队列正式篇(路由匹配篇)
  • 一套完整的NVR网络硬盘录像机解决方案和NVR程序源码介绍
  • 2024年人工智能固态硬盘采购容量预计超过45 EB
  • Java的反射原理
  • vue.config.js 配置
  • C ++ 也可以搭建Web?高性能的 C++ Web 开发框架 CPPCMS + MySQL 实现快速入门案例
  • Taos 常用命令工作笔记(二)