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

OD 算法题 B卷【排队游戏】

文章目录

  • 排队游戏

排队游戏

  • 新来的老师给班里的同学排一个队,每个学生有一个能力值,一些学生是刺头不会听老师的话,而是自己选位置;
  • 非刺头同学在剩下的位置按照能力值从小到大排;对非刺头同学,如果发现他前面有能力值比自己高的同学,他不满程度就增加,增加的数量等于前面能力值比他大的同学的个数;
  • 刺头不会产生不满;
  • 如果整个班级累计的不满程度超过k,那么老师就没办法教这个班级了

输入描述:
第一行输入n, m, k ,分别表示班级总人数,刺头数,最大不满程度;
第二行为刺头所在位置(从0开始)
第三行有n个数,表示老师排好的队中每个同学的能力值,非刺头同学一定按照能力值升序排序;

输出描述:
0或者1, 0表示老师可以继续教这个班级;1表示不可以继续教;

示例1
输入:
4 2 3
0 1
1810 1809 1801 1802
输出:
1

示例2
输入:
4 2 4
0 1
1810 1809 1801 1802
输出:
0

python实现:

  • 暴力求解,计算每个非刺头同学的不满程度,并累加,最后与k值比较;
  • 每个非刺头同学前面,只有是刺头且能力值比自己高时,不满程度才+1;

# 输入
n, m, k = [int(i) for i in input().strip().split()]
# 刺头的位置索引
bad_stu_idx = [int(i) for i in input().strip().split()]# 每个同学的能力值
ability = [int(i) for i in input().strip().split()]sum_val = 0  # 不满程度
# 计算每个非刺头的不满程度
for i in range(n):if i in bad_stu_idx:continuej = 0while j < i:if j in bad_stu_idx and ability[j] > ability[i]:sum_val += 1j += 1if sum_val > k:print(1)
else:print(0)

相关文章:

  • day19 leetcode-hot100-37(二叉树2)
  • dify中解决docx上传文件报错问题
  • NC28 最小覆盖子串【牛客网】
  • 雷卯针对易百纳 海思Hi3519AV100开发板防雷防静电方案
  • Attention Is All You Need:抛弃循环神经网络的时代来了!
  • QT开发技术【ffmpeg + QAudioOutput】音乐播放器
  • LangChain开发环境搭建
  • 常用的录音芯片型号有哪些?
  • ‌RF Choke(射频扼流圈)
  • 5.Promise,async,await概念(1)
  • nmcli connection常用命令及设置wifi为AP模式
  • 【Zephyr 系列 7】BLE 数据透传系统设计与实现:双向通信、缓冲区与状态同步全解析
  • MySQL 8.0 窗口函数全面解析与实例
  • 关于项目多语言化任务的概述
  • 【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
  • CppCon 2015 学习:Beyond Sanitizers
  • 2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
  • Mysql的B-树和B+树的区别总结
  • stripe支付测试,ngrok无法使用?免费vscode端口转发,轻松简单!
  • 【输入URL到页面展示】
  • dede58织梦模板/河南seo关键词排名优化
  • 做爰的细节描述和过程网站/seo服务哪家好
  • 做网站啦代理的方法/如何发布视频赚钱
  • 深圳门户网站开发/深圳网站优化平台
  • 品牌营销策划网站/网站建设平台
  • 求职网站网页设计/上海网络推广公司排名