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

这是我人生中的第一个CSDN博客,目前大三。因为看别人的解法看不懂所以自己琢磨了几个小时,终于在23:58全对了!

题目详情:

L1-049 天梯赛座位分配 (20分)
天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令每校选手排成一列纵队,第 i+1 队的选手排在第 i 队选手之后。从第 1 所学校开始,各校的第 1 位队员顺次入座,然后是各校的第 2 位队员…… 以此类推。如果最后只剩下 1 所学校的队伍还没有分配座位,则需要安排他们的队员隔位就坐。本题就要求你编写程序,自动为各校生成队员的座位号,从 1 开始编号。

输入格式:

输入在一行中给出参赛的高校数 N (不超过100的正整数);第二行给出 N 个不超过10的正整数,其中第 i 个数对应第 i 所高校的参赛队伍数,数字间以空格分隔。

输出格式:
从第 1 所高校的第 1 支队伍开始,顺次输出队员的座位号。每队占一行,座位号间以 1 个空格分隔,行首尾不得有多余空格。另外,每所高校的第一行按“#X”输出该校的编号X,从 1 开始。

输入样例:

3
3 4 2

输出样例:

#1
1 4 7 10 13 16 19 22 25 28
31 34 37 40 43 46 49 52 55 58
61 63 65 67 69 71 73 75 77 79
#2
2 5 8 11 14 17 20 23 26 29
32 35 38 41 44 47 50 53 56 59
62 64 66 68 70 72 74 76 78 80
82 84 86 88 90 92 94 96 98 100
#3
3 6 9 12 15 18 21 24 27 30
33 36 39 42 45 48 51 54 57 60

思路:

代码:

#include<bits/stdc++.h>
using namespace std;int main(){int n,max = 0,apple = 1,hang;cin >> n;int dot = n,count = 0;int** school = new int*[n];int* num = new int[n];bool* flag = new bool[n];bool first = false;for(int i = 0;i < n;i++){int x;cin >> x;x *= 10;school[i] = new int[x];num[i] = x;max = x > max ? x : max;flag[i] = true;}int k = 1;for(int j = 0;j < max;j++){for(int i = 0;i < n;i++){if(dot > 1){if(flag[i]){school[i][j] = k;if(j == (num[i] - 1)){flag[i] = false;dot--;}}else{goto logo;}}else{if(flag[i]){if(first != true){school[i][j] = k;first = true;}else{k++;school[i][j] = k;}}else{goto logo;}}k++;logo:apple = 1;}}for(int i = 0;i < n;i++){count = 0,hang = 0;cout << "#" << i + 1 << endl;for(int j = 0;j < num[i];j++){if(count != 0){cout << " ";}cout << school[i][j];count++;if(count % 10 == 0){count = 0;hang++;if(hang != num[i] / 10){cout << endl;}     }}cout << endl;}return 0;
}

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

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

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

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

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

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

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

  4. 满分简便代码——L1-049 天梯赛座位分配 (20分)

    立志用更少的代码做更高效的表达 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 ...

  5. L1-049 天梯赛座位分配 (20分)(C语言)(详解!!!)

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

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

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

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

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

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

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

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

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

最新文章

  1. Android中XML的命名空间、自定义属性
  2. opencv 图像雾检测_OpenCV图像处理-基于OpenPose的关键点检测
  3. 从4篇顶会论文看Self-training最新研究进展
  4. hive增量表和全量表_hive 拉链表 实现全量数据 增量更新
  5. windows apache 开启 GZIP
  6. Vue+Element导入导出Excel
  7. 腾讯面试:一条SQL语句执行得很慢的原因有哪些?
  8. C#.net实现密码加密算法的语句
  9. Kafka源码分析-序列3 -Producer -Java NIO(Reactor VS Peactor)
  10. USB学习笔记连载(十五):USB固件更新以及安装驱动
  11. 2021-07-20 计算两个日期间的工作日天数VBA函数
  12. HarmonyOS USB DDK助你轻松实现USB驱动开发
  13. 基于微信小程序毕业论文选题系统(微信小程序毕业设计)
  14. error:LNK2005
  15. 毕业设计的一些小总结
  16. 统计学中位数概念的理解
  17. 浙江大学2022年计算机考研复试一般考什么
  18. 浅谈oracle索引
  19. cas55266-17-6四羧基苯基卟啉铁简称TCPP-Fe(3+)齐岳定制β-硝基-5, 10,15, 20-四苯基卟啉镍[NiTPP(NO2)]供应卟啉定制产品
  20. 数据同步利器之Tapdata Cloud

热门文章

  1. 百度搜索引擎排名规则有哪些呢?
  2. excel表格同一单元格里删除重复词
  3. MATLAB统计分析—描述性统计
  4. 5.RefineDNet论文阅读
  5. 微软云搭建服务器,快速入门:创建服务器 - Azure 门户 - Azure Database for PostgreSQL - 单个服务器 | Microsoft Docs...
  6. Docker【部署 02】可视化工具DockerUI和Shipyard安装使用实例
  7. 北京办理互联网经营许可证(ICP证)的要求
  8. sendcloud php,Sendcloud的x_smtpapi具体如何定义?
  9. 解决: 在类xxx 中找不到 main 方法, 请将 main 方法定义为: public static void main(String[]
  10. log日志中输出log所在类,方法和行数