多校连萌15-8-12#A
2015-08-22 22:21
337 查看
[code]#include <cstdio> #include <iostream> #include <algorithm> #include <queue> #include <cmath> #include <cstring> #include <stack> #include <set> #include <map> #include <vector> using namespace std; #define INF 0x2fffffff #define LL long long #define MAX(a,b) ((a)>(b))?(a):(b) #define MIN(a,b) ((a)<(b))?(a):(b) double a[30]; double b[30]; double c[30]; double dp[1 << 21]; double d[30][30]; int n,m; double ans; void fun(int status,int cur,int qu){ if(qu == m){ ans = max(ans,dp[status]); return; } if(cur > n){ return ; } double c = 0; for(int i = 0;i < cur;i++){ if(status&(1<<i)){ c += d[cur][i]; } } dp[status|(1<<cur)] = dp[status] + c; fun(status|(1<<cur),cur+1,qu+1); fun(status,cur+1,qu); } int main(){ while(cin >> n >> m){ for(int i = 0;i < n;i++){ cin >> a[i] >> b[i] >> c[i]; } memset(d,0,sizeof(d)); for(int i = 0;i < n;i++){ for(int j = 0;j < n;j++){ d[i][j] = (a[i]-a[j])*(a[i]-a[j]) + (b[i]-b[j])*(b[i]-b[j]) + (c[i]-c[j])*(c[i]-c[j]); } } memset(dp,0,sizeof(dp)); ans = 0; fun(0,0,0); printf("%.6f\n",ans); } return 0; }
状压搜索
点击看题
相关文章推荐
- Unity3D开发——安卓版的虚拟按键实现
- tcp和udp
- 浪潮天梭k1主机并非全是基于安腾cpu的
- TSP+Floyd BestCoder Round #52 (div.2) 1002 Victor and Machine
- 引用和指针的区别和联系
- Objective-C 【继承、变量修饰符(私有变量/方法)、description方法】
- Delphi2010中DataSnap技术网摘
- Objective-C 【继承、变量修饰符(私有变量/方法)、description方法】
- LeetCode 29 Divide Two Integers 除法的原理
- R语言_非参数检验
- IOS弹出视图preferredContentSize
- ACM学习历程—HDU5418 Victor and World(动态规划 && 状压)
- 启动tomcat时出现The specified JRE installation does not exist 如何解决?
- 面向对象设计模拟简单ATM系统
- CCActionGird源码分析
- 第91讲:Akka第一个案例动手实战架构设计
- MySql 事务+异常处理+异常抛出
- 个人acm模版
- 基于Spring提供支持不同设备的页面
- HDU5418——TSP变形——Victor and World