zoukankan      html  css  js  c++  java
  • pta l1-49(天梯赛座位分配)

    题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805081289900032

    题意:给定n个高校,每个高校m[i]支队,每个队10人,按照高校1到高校n的第一队先入座,依次往后,若最后只剩一所高校,则隔位就座,座位从1开始,要求输出所有人的座位号。

    思路:模拟即可,用Max表示每所高校队伍最多有多少,从编号nw=1开始往后分配,用pre记录上一次分配座位编号的是哪一所高校,k为本次分配编号的高校,若k==pre,则nw+=2; 否则++nw,然后按要求输出即可。

    AC代码:

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 
     4 int n,m[105],nw=0,Max,pre=-1;
     5 int tbl[105][11][11];
     6 
     7 int main(){
     8     scanf("%d",&n);
     9     for(int i=1;i<=n;++i){
    10         scanf("%d",&m[i]);
    11         if(m[i]>=Max) Max=m[i];
    12     }
    13     for(int i=1;i<=Max;++i)
    14         for(int j=1;j<=10;++j)
    15             for(int k=1;k<=n;++k)
    16                 if(m[k]>=i){
    17                     if(pre==k)
    18                         nw+=2;
    19                     else
    20                         ++nw;
    21                     tbl[k][i][j]=nw;
    22                     pre=k;
    23                 }
    24     for(int i=1;i<=n;++i){
    25         printf("#%d
    ",i);
    26         for(int j=1;j<=m[i];++j){
    27             for(int k=1;k<=10;++k)
    28                 if(k==1) printf("%d",tbl[i][j][k]);
    29                 else printf(" %d",tbl[i][j][k]);
    30             printf("
    ");
    31         }
    32     }
    33     return 0;
    34 }
  • 相关阅读:
    如何设定Fckeditor的工具栏
    WINDOWS 8
    博弈论
    互联网协议入门
    关于“性”
    两个看似互斥矛盾的法则,在更高的法则上会达到统一
    silverlight后台加载本地图片
    REST(Representational State Transfer表述性状态转移)
    各个搜索引擎网站管理员工具地址
    OAuth
  • 原文地址:https://www.cnblogs.com/FrankChen831X/p/10577500.html
Copyright © 2011-2022 走看看