PTA_L1-049ラダーマッチシート割り当て(20点)

L1-049ラダーマッチ座席割当

ラダーは、同じ学校のすべてのメンバーが隣接していないことを保証するために、割り当てられた座席が面倒なことになってきた、毎年チームメンバーの数が多いトーナメント。この目的のために、我々は次の戦略を開発しました:参加校はNを持ってスタジアムには、I-学校はM [i]のチーム、チームごとに10人の選手がいるとします。1つのファイルにすべての学校プレイヤーように、私は、チームの選手の後ろに1チームの選手を+。最初のAの学校からは、今度の学校第1プレイヤーは、その後、学校の最初の2人の選手......などに座りました。最後の唯一の学校のチームが席を割り当てられていない場合、あなたは座って選手たちのコンパートメントを手配する必要があります。この質問は、自動的に1から番号付け、学校のチームの座席番号を生成するプログラムを記述する必要があります。

入力フォーマット:
大学N(100を越えない正の整数)の所定の行数に参加する入力; Nの第2行は10を越えない正の整数を与え、前記iは、i番目の大学のチームに対応数は、数字の間のスペースで区切られています。
出力フォーマット:
順次選手の座席番号の出力を開始する最初のチームの大学から。行ごとの各チームは、スペースで区切られた座席番号の間で、最初から最後までのラインは、余分なスペースを持っていないかもしれません。また、学校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 53 56 59 50
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

アイデア:(デポジット異なる要素)のSTLコンテナの使用(ベクトル)。
完全なコード:

#include<bits/stdc++.h>
using namespace std;
int a[105];
bool flag[105];
vector <int> Vec[105];
int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    int ans=1;
    int num=1;
    while(num-1!=n)
    {
        for(int i=0;i<n;i++)
        {
            if(flag[i])
            {
                continue;
            }
            Vec[i].push_back(ans);
            if(num==n)
            {
                ans+=2;
            }
            else
            {
                ans++;
            }
            int x=Vec[i].size();
            if(x==a[i]*10)
            {
                num++;
                flag[i]=1;
            }
        }
    }
    int bet=0;
    for(int i=0;i<n;i++)
    {
        cout<<"#"<<i+1<<endl;
        int x=Vec[i].size();
        for(int j=0;j<x;j++)
        {
            bet++;
            if(bet==10)
            {
                cout<<Vec[i][j]<<endl;
                bet=0;
            }
            else
            {
                cout<<Vec[i][j]<<" ";
            }
        }
    }
    return 0;
}

元の質問へのリンク:
https://pintia.cn/problem-sets/994805046380707840/problems/994805081289900032

公開された87元の記事 98ウォンの賞賛 ビュー4945

おすすめ

転載: blog.csdn.net/qq_45856289/article/details/104885834