Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>#include<vector>#include<algorithm>#include<stdio.h>#include<string.h>#include<string>using namespace std;#define ll long long#define re(i,n) for(int i=0;i<n;i++)const int maxn = 1007;int n;/*Sec类是一个分区,分区包含很多菜单项;每个菜单项是一个Panel.a.size()表示这个分区所包含的菜单个数h表示子菜单比本体长多少*/struct Sec{vector<int>a;int h;};/*这个vector表示全部的panel.一个菜单项必然对应一个panel.h表示子菜单比本体长多少cnt表示此panel所包含的菜单项数*/vector<Sec>a[maxn];int h[maxn],cnt[maxn];bool cmp(const Sec&m, const Sec&n){return m.h > n.h;}