2018天梯赛_L1-049. 天梯赛座位分配

传送门

思路:模拟模拟(⊙﹏⊙)。

#include
using namespace std;
const int N=105;
int a[N];
int f[N];
vector<int> stk[N];
int main ()
{
    int n; scanf("%d",&n);
    int sum=0,index=0;
    int len=0;
    for(int i=0;iscanf("%d",&a[i]);
        a[i]*=10;
        sum+=a[i];
    }
    for(int i=1;;){
        int t=0;
        while(tif(stk[t].size()if(len+1==n) i+=2;
                else i++;
            }
            if(f[t]==0 && a[t]<=stk[t].size()) f[t]=1,len++;
            t++;
        }
        if(sum==index) break;
    }

    for(int i=0;iprintf("#%d\n",i+1);
        for(int j=0;jif((j+1)%10==0) printf("%d\n",stk[i][j]);
            else printf("%d ",stk[i][j]);
        }
    }
    return 0;
}

你可能感兴趣的:(模拟)