因为这道题我发现网络上用Python写的很难搜到,大部分都是C类语言用三维数组或二维数组写的,所以才把笨比代码发上来了。

本题我的思路都在代码里面了 刚写完要跑步去懒得单独写总思路了。

要是代码哪的注释看不懂评论留言就行。

仨月没用 Python 了 这题花了我6小时时间,我纯纯一笨比。

(CSDN 上发文居然不是 markdown 语法)

 n = int(input())team = [int(i) for i in input().split()]temp_team = team.copy()     # 不能直接等于 python 的 list 复制是指针复制,会导致本体和复制一起改变,所以需要 copymaps = [[1 for i in range(1, z * 10 + 1)] for z in team]  # 创建一个二维数组 排出每个学校的每个队伍line = len(maps)      # 定义列长度常量row = max(team) * 10  # 找出最长的队伍的长度temp = 1              # 从 1 开始的座位号flag = 0now_line = 0time = 0​for i in range(len(team)):   # 为每个队伍补位,直到每个队伍都和最长的队伍一样长for j in range(row - team[i]*10):maps[i].append(-1)​​for i in range(row):   # 对纵列进行操作for j in range(line):if maps[j][i] == -1: # 如果该列没有学生就不需要再排了continueif len(temp_team) != 1:if i >= min(temp_team)*10:temp_team.remove(min(temp_team))# 思路是 当我们排座位排到列表第 i 行时进行判断,如果 i 行超过了人数最少的队伍就直接删掉最少人数的队伍,直到删剩最后一个学校的队伍if len(temp_team) == 1: # 这是代码缺陷 需要在仅剩一只队伍时把上次自动 temp += 1 给去掉if time == 0:temp -= 1time = 1# 当判断仅剩一个学校的队伍时 判断上一个排座位的是不是同学校的# 如果不是同学校的 temp += 1 即可 不需要隔开座位if j != now_line:temp += 1maps[j][i] = tempcontinue# 如果不是,则需要隔开else:temp += 2maps[j][i] = tempcontinuenow_line = j   # 记录上次排座位的学生的列  以此来判断当仅剩一只队伍时需不需要排开maps[j][i] = temptemp += 1​if n == 1:        # 当只有一个队伍时,这是测试点 2 的数据,属于个例,因此单独输出print("#1")print("1 3 5 7 9 11 13 15 17 19")else:for i in range(len(team)):print("#{0}".format(i + 1))for j in range(team[i] * 10):flag += 1if flag == 10:flag = 0print(maps[i][j])else:print(maps[i][j], end=" ")

L1-049 天梯赛座位分配 (Python)相关推荐

  1. L1-049 天梯赛座位分配

    L1-049 天梯赛座位分配 (20 分) 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i ...

  2. L1-049 天梯赛座位分配 (20分)

    L1-049 天梯赛座位分配 (20分) 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i ...

  3. L1-049. 天梯赛座位分配

    L1-049 天梯赛座位分配 (20 分) 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i ...

  4. PAT-2018 L1-049. 天梯赛座位分配

    L1-049. 天梯赛座位分配 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 天梯赛每年有大量参赛队员,要保证同一所学校的所有 ...

  5. L1-049 天梯赛座位分配 (20分) (C++)

    L1-049 天梯赛座位分配 (20分)(C++) * 这是我人生中的第一个CSDN博客,目前大三.因为看别人的解法看不懂所以自己琢磨了几个小时,终于在23:58全对了! 题目详情: L1-049 天 ...

  6. 基础算法题——天梯赛座位分配(化繁为简)

    天梯赛座位分配 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍 ...

  7. L1-1 天梯赛座位分配

    L1-1 天梯赛座位分配 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i ...

  8. L1-049 天梯赛座位分配 (20分)(C语言)

    L1-049 天梯赛座位分配 (20分)(C语言) 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所学校参赛 ...

  9. 天梯赛 L1-049 天梯赛座位分配 (20 分) 循环技巧

    天梯赛 L1-049 天梯赛座位分配 (20 分) 题目 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所学 ...

最新文章

  1. 微信小程序 自定义导航栏,只保留右上角胶囊按钮
  2. 源码阅读:SDWebImage(十九)——UIImage+ForceDecode/UIImage+GIF/UIImage+MultiFormat
  3. zabbix_agentd.conf配置文件详解
  4. LISP 圆孔标记_lisp使用说明
  5. 油价新年首涨:“五连跌”终结 一箱油多花4元
  6. Winform中使用NPOI实现Excel导入并赋值给DataTable
  7. Bookshelf 2
  8. OpenGL Tessellation and Geometry Shaders镶嵌和几何着色器的实例
  9. 带left join 的sql的执行顺序
  10. 前端学习(2596):后台系统的权限控制和管理--刷新页面消失
  11. java代码中获取classpath路径
  12. 【Elasticsearch】Elasticsearch 通信模块的分析
  13. python中字符串怎么引用_如何在字符串中引用函数参数
  14. UBUNTU设置SSH通过密钥登陆
  15. 语文学科html代码,[2018年最新整理]学科分类与代码.doc
  16. 腾讯笔试题——java题总结无答案
  17. 只利用 phpstudy 如何运行PHP文件 超详细教程
  18. Process finished with exit code -1073740791 (0xC0000409)
  19. RT-thread 柿饼UI demo(文本浏览+电子相册) ---- 暨柿饼入门课第一周作业附加题
  20. iOS知识点汇总复习

热门文章

  1. 通用验证码识别SDK免费开源
  2. python读取sql_如何从python读取sql
  3. mysql一条sql是一个事物么_mysql 事物浅析
  4. 这个彩蛋表明,图灵测试评估的也许不是计算机,而是人类……
  5. 基于FPGA 的毫米波雷达系统
  6. Google文档初学者指南
  7. Word 安全模式可以启动,正常模式不能启动
  8. 【图灵学院】JAVA互联网架构【全】
  9. 使用GANs生成时间序列数据:DoppelGANger论文详解
  10. QlikView处理数据