zoukankan      html  css  js  c++  java
  • 解题报告: ABC 165C

    题目链接: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
    ",ans);
    	return 0;
    }
    
  • 相关阅读:
    换零钞
    空心菱形
    生成回文数
    机器人数目
    胡同门牌号
    七星填数
    阶乘位数
    打印数字
    平方末尾
    数位和
  • 原文地址:https://www.cnblogs.com/tlx-blog/p/12863008.html
Copyright © 2011-2022 走看看