天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 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 开始。

输入样例:

  1. 3
  2. 3 4 2

输出样例:

  1. #1
  2. 1 4 7 10 13 16 19 22 25 28
  3. 31 34 37 40 43 46 49 52 55 58
  4. 61 63 65 67 69 71 73 75 77 79
  5. #2
  6. 2 5 8 11 14 17 20 23 26 29
  7. 32 35 38 41 44 47 50 53 56 59
  8. 62 64 66 68 70 72 74 76 78 80
  9. 82 84 86 88 90 92 94 96 98 100
  10. #3
  11. 3 6 9 12 15 18 21 24 27 30
  12. 33 36 39 42 45 48 51 54 57 60
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cstdlib>
  4. #include <cstring>
  5. #include <iostream>
  6. #include <algorithm>
  7. #include <cmath>
  8. #include <queue>
  9. #include <set>
  10. using namespace std;
  11. #define pi acos(-1.0)
  12. typedef long long ll;
  13. const int N =;
  14. set<int>se;
  15. set<int>::iterator it;
  16. vector<int>ve[N];
  17. int a[N],n;
  18. int main()
  19. {
  20. scanf("%d",&n);
  21. for(int i=;i<=n;i++){
  22. scanf("%d",&a[i]);
  23. a[i]*=;
  24. }
  25. int flag=,cnt=;
  26. for(int i=;;i++){
  27. i%=n;
  28. if(i==) i=n;
  29. if(se.count(i)==) continue;
  30. ve[i].push_back(cnt);
  31. //要先判断se.size 再判断是否可以插入i
  32. //如果顺序反了,会出现 79 81的情况。
  33. if(se.size()==n-){
  34. flag=;
  35. cnt+=;
  36. }
  37. if(ve[i].size()==a[i]) se.insert(i);
  38. if(se.size()==n) break;
  39. if(flag==) cnt++;
  40. }
  41. for(int i=;i<=n;i++){
  42. printf("#%d\n",i);
  43. for(int j=;j<ve[i].size();j++){
  44. printf("%d%c",ve[i][j],(j+)%==?'\n':' ');
  45. }
  46. }
  47. return ;
  48. }

L1-049 天梯赛座位分配 (20 分)的更多相关文章

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

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

  2. PAT L1 049 天梯赛座位分配

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

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

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

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

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

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

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

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

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

  7. pta l1-49(天梯赛座位分配)

    题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805081289900032 题意:给定n个高校,每个高校m[i ...

  8. 团体程序设计天梯赛 L1-049. 天梯赛座位分配(测试数据+不同方法)

    Data: /*33 2 1#11 4 7 10 13 16 19 22 25 2831 33 35 37 39 41 43 45 47 4951 53 55 57 59 61 63 65 67 69 ...

  9. PAT 天梯赛 L1-049. 天梯赛座位分配 【循环】

    题目链接 https://www.patest.cn/contests/gplt/L1-049 思路 用一个二维数组来保存一个学校每个队员的座位号 然后需要判断一下 目前的座位号 与该学校当前状态下最 ...

随机推荐

  1. arcgis 定位图斑,并且高亮显示

    ///图斑定位 function TabQuery(instance_id, layer_name) { require(["esri/map", "esri/geome ...

  2. Ashx登录

    <script type="text/javascript"> window.onload = function () { var url = document.get ...

  3. String与Date转换

    public class TimeTraining { public static void changeStr(String str){ str = "137878"; } pu ...

  4. css清除浮动好方法

    1.clear:both ==>IE6,7会有高度,所以去高度需要.clear{ clear:both; height:0px; margin:0; padding:0; width:0; bo ...

  5. jquery-weui picker组件实现只选择年月

    var date = new Date() var month = date.getMonth()+1 //获取当前月份 $('#selectTime').picker({ toolbarTempla ...

  6. nginx对不存在的文件进行404处理

    location / { try_files $uri $uri/ /?$args 404; } location / { try_files $uri $uri/ /index.html 404; ...

  7. 【HDU1542】Atlantis (扫描线的经典运用)

    点此看题面 大致题意: 给你\(N\)个矩形,请你求出它们覆盖的面积(重叠的面积只算一次). 扫描线 这道题是一道典型的求矩形面积并问题,是扫描线的一个经典运用.这里就不赘述了. 代码 #includ ...

  8. 【ML】聊天机器人

    继做过了泰语分词,自动对对对联后对聊天机器人产生了浓厚的兴趣.ChatBot集合了NLP,DL等多领域的应用. https://deeppavlov.ai/ https://www.rasa.com/ ...

  9. CUDA并行存储模型

    CUDA将CPU作为主机(Host),GPU作为设备(Device).一个系统中可以有一个主机和多个设备.CPU负责逻辑性强的事务处理和串行计算,GPU专注于执行高度线程化的并行处理任务.它们拥有相互 ...

  10. opencv anaconda

    from: http://blog.csdn.net/fairylrt/article/details/43560525 Anaconda是一个python的一个包装,或者不单单是这样.你可以认为An ...