首页 > 代码库 > UVa 11069 - A Graph Problem
UVa 11069 - A Graph Problem
题目:给你一个集合{1,2,..,n},计算子集的个数,子集的元素不能相邻且不能再插入元素。
分析:dp,动态规划。相邻元素间只能相差3或者2。
动态方程:f(k)= f(k-2)+ f(k-3);{ f(k)为以k为结束元素的集合个数 };
f(n)+ f(n-1)即为结果。
说明:Fib类似物。
#include <iostream> #include <cstdlib> using namespace std; long long F[80]; int main() { F[2] = F[1] = 1; for (int i = 3 ; i <= 80 ; ++ i) F[i] = F[i-3] + F[i-2]; int n; while (cin >> n) cout << F[n]+F[n-1] << endl; return 0; }
UVa 11069 - A Graph Problem
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。