码迷,mamicode.com
首页 > 其他好文 > 详细

解题报告: ABC 165C

时间:2020-05-10 14:36:55      阅读:60      评论:0      收藏:0      [点我收藏+]

标签:man   nts   ref   void   ret   mat   name   tps   iostream   

题目链接:AT5260 [ABC165C] Many Requirements

\(ABC\)\(C\) 考场上都没写出来,枯了。

以为复杂度是 \(O(n^m)\) 过不去,然而只有 \(O(C_m^n q)\)
爆搜即可......

\(Code:\)

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;

#define read(x) scanf("%d",&x)

int n,m,q;
int ans=0;
int a[55],b[55],c[55],d[55];
int rt[15];

void dfs(int th)
{
	if(th==n)
	{
		int now=0;
		for(int i=1;i<=q;i++)
		{
			if(rt[b[i]]-rt[a[i]]==c[i]) now+=d[i];
		}
		ans=max(ans,now);
		return;
	}
	for(int i=rt[th];i<=m;i++)
	{
		rt[th+1]=i;
		dfs(th+1);
	}
	return;
}

int main()
{
	read(n),read(m),read(q);
	for(int i=1;i<=q;i++) read(a[i]),read(b[i]),read(c[i]),read(d[i]);
	for(int i=1;i<=m;i++)
	{
		rt[1]=i;
		dfs(1);
	}
	printf("%d\n",ans);
	return 0;
}

解题报告: ABC 165C

标签:man   nts   ref   void   ret   mat   name   tps   iostream   

原文地址:https://www.cnblogs.com/tlx-blog/p/12863008.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!