枚举末位状态

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#define R(a,b,c) for(register int a = (b); a <= (c); ++ a)
#define nR(a,b,c) for(register int a = (b); a >= (c); -- a)
#define Max(a,b) ((a) > (b) ? (a) : (b))
#define Min(a,b) ((a) < (b) ? (a) : (b))
#define Fill(a,b) memset(a, b, sizeof(a))
#define Abs(a) ((a) < 0 ? -(a) : (a))
#define Swap(a,b) a^=b^=a^=b
#define ll long long #define ON_DEBUG #ifdef ON_DEBUG #define D_e_Line printf("\n\n----------\n\n")
#define D_e(x) cout << #x << " = " << x << endl
#define Pause() system("pause")
#define FileOpen() freopen("inn.txt","r",stdin); #else #define D_e_Line ;
#define D_e(x) ;
#define Pause() ;
#define FileOpen() ; #endif struct ios{
template<typename ATP>ios& operator >> (ATP &x){
x = 0; int f = 1; char c;
for(c = getchar(); c < '0' || c > '9'; c = getchar()) if(c == '-') f = -1;
while(c >= '0' && c <= '9') x = x * 10 + (c ^ '0'), c = getchar();
x*= f;
return *this;
}
}io;
using namespace std; const int N = 16; int a[17];
long long f[16][1<<16]; int main(){
FileOpen();
int n, D;
io >> n >> D;
R(i,0,n - 1){
io >> a[i];
f[i][1 << i] = 1;
}
R(i,0,(1 << n) - 1){
R(j,0,n - 1){
if(i & (1 << j)){
R(k,0,n - 1){
if(!(i & (1 << k)) && Abs(a[j] - a[k]) > D){
int m = i | (1 << k);
f[k][m] += f[j][i];
}
}
}
}
} int ans = 0;
R(i,0,n - 1)
ans += f[i][(1<<n)-1]; printf("%lld",ans);
return 0;
}

最新文章

  1. python 字符串截取
  2. Java生成公私钥对
  3. IO流02--毕向东JAVA基础教程视频学习笔记
  4. String,StringBuffer与StringBuilder的差别??
  5. loj1341(数学)
  6. linux组网笔记
  7. Java中循环声明变量方法
  8. 第70节:Java中xml和tomcat
  9. JavaScript数组去重—ES6的两种方式
  10. linux下 彻底修改python的包/模块导入路径
  11. fiddler的编程文章
  12. android 中的Http请求类HttpUrlConnection和HttpClient类
  13. 设计模式之Prototype(原型)(转)
  14. JDK源码之Lock接口
  15. PHP搜索 搜索 搜索
  16. 【Python】使用Python将Shellcode转换成汇编
  17. 使用Apache POI处理excel公式不更新的解决办法
  18. 第1章 (名词)Le nom
  19. 【OC底层】KVO原理
  20. 最快的BT软件rtorrent Step by Step指南

热门文章

  1. veeambackup通过虚拟机还原系统文件操作说明
  2. 理解RESTful Api设计
  3. Navicat破解激活流程
  4. Hadoop入门学习笔记(二)
  5. 【仿真】Carla介绍与基本使用 [1] (附代码 基础版)
  6. 『忘了再学』Shell基础 — 27、AWK编程的介绍和基本使用
  7. conda创建/移除虚拟环境
  8. 分享一个基于 netty 的 java 开源项目
  9. alertmanager集群莫名发送resolve消息的问题探究
  10. Pytorch实现波阻抗反演