zoukankan      html  css  js  c++  java
  • [USACO08NOV]奶牛混合起来Mixed Up Cows]

    [USACO08NOV]奶牛混合起来Mixed Up Cows

    题目描述

    约翰家有N头奶牛,第i头奶牛的编号是Si,每头奶牛的编号都是唯一的。这些奶牛最近 在闹脾气,为表达不满的情绪,她们在挤奶的时候一定要排成混乱的队伍。在一只混乱的队 伍中,相邻奶牛的编号之差均超过K。比如当K = 1时,1, 3, 5, 2, 6, 4就是一支混乱的队伍, 而1, 3, 6, 5, 2, 4不是,因为6和5只差1。请数一数,有多少种队形是混乱的呢?

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<cstdlib>
    #include<cstring>
    #define ll long long
    using namespace std;
    const int N=16;
    int n,K,a[N];
    ll f[100010][N],ans;
    int main()
    {
    	cin>>n>>K;
    	for(int i=0;i<n;i++)
    		cin>>a[i];
    	for(int i=0;i<=n-1;i++)
    		f[1<<i][i]=1;
    	for(int i=1;i<(1<<n);++i)
    		for(int j=0;j<n;++j)
    			if(f[i][j])
    				for(int k=0;k<n;++k)
    					if(!(i&(1<<k))&&abs(a[j]-a[k])>K)
    						f[i|(1<<k)][k]+=f[i][j];
    	for(int i=0;i<n;++i)
    		ans+=f[(1<<n)-1][i];
    	cout<<ans<<"
    ";
    	return 0;
    }
    
    
  • 相关阅读:
    继承与多态——动手又动脑
    类与对象--动手又动脑
    Go语言接口
    GO语言结构体
    GO指针
    GO函数
    GO获取随机数
    GO基础
    Go语言的%d,%p,%v等占位符的使用
    GO语言常量和变量
  • 原文地址:https://www.cnblogs.com/axma/p/10076690.html
Copyright © 2011-2022 走看看