T4 给定6个队伍,让分成两个不为空的小组。题很简单,但是有6个规则,逻辑判断很麻烦。这里学了一手,可以把所有解放入结构体,进行优先级排序,排序后的第一个就是最优解。 O(2^6 * log(2 ^ 6)) Code:
#include
using namespace std;
int cnt[10];
int a[10][5];
int n,m,k,T;
int ans = 1;
struct node{
int x;
bool f1,f2,f3; //规则0、1、2
int dis; //人数差
bool f4; //左边人多
vector l;
bool operator rhs.f1;
if(f2 != rhs.f2) return f2 > rhs.f2;
if(f3 != rhs.f3) return f3 > rhs.f3;
if(dis != rhs.dis) return dis rhs.f4;
for(int i=0;i
关注
打赏