*[topcoder]LCMSetEasy
http://community.topcoder.com/stat?c=problem_statement&pm=13040
DFS集合全排列+LCM和GCD。但事实上,有更简单的算法,列在下面,就是观察到不能整除x的对我们无效。
#include <vector>
#include <iostream>
using namespace std; class LCMSetEasy {
public:
string include(vector <int> S, int x) {
vector<int> vec;
if (includeRe(S, x, 0, vec))
return "Possible";
else
return "Impossible";
} bool includeRe(const vector<int> &S, int x, int i, vector<int> &vec) {
if (i == S.size()) {
int r = lcm(vec);
if (r == x)
return true;
return false;
}
vec.push_back(S[i]);
bool res = includeRe(S, x, i + 1,vec);
vec.pop_back();
if (res)
return true;
res = includeRe(S, x, i + 1,vec);
return res;
} int lcm(vector<int> vec) {
if (vec.size() == 0)
return 1;
int tmp = vec[0];
for (int i = 1; i < vec.size(); i++) {
tmp = lcm(tmp, vec[i]);
}
return tmp;
} int lcm(int a, int b) {
int c = gcd(a, b);
return a * b /c;
} int gcd(int a, int b) {
if (a % b == 0)
return b;
int tmp = a % b;
return gcd(b, tmp);
}
};
string include(vector <int> S, int x) {
int r = 1;
for (int i = 0; i < S.size(); i++) {
if (x % S[i] == 0) {
r = lcm(r, S[i]);
}
}
if (r == x)
return "Possible";
else
return "Impossible";
}
*[topcoder]LCMSetEasy的更多相关文章
- TopCoder kawigiEdit插件配置
kawigiEdit插件可以提高 TopCoder编译,提交效率,可以管理保存每次SRM的代码. kawigiEdit下载地址:http://code.google.com/p/kawigiedit/ ...
- 记第一次TopCoder, 练习SRM 583 div2 250
今天第一次做topcoder,没有比赛,所以找的最新一期的SRM练习,做了第一道题. 题目大意是说 给一个数字字符串,任意交换两位,使数字变为最小,不能有前导0. 看到题目以后,先想到的找规律,发现要 ...
- TopCoder比赛总结表
TopCoder 250 500 ...
- Topcoder几例C++字符串应用
本文写于9月初,是利用Topcoder准备应聘时的机试环节临时补习的C++的一部分内容.签约之后,没有再进行练习,此文暂告一段落. 换句话说,就是本文太监了,一直做草稿看着别扭,删掉又觉得可惜,索性发 ...
- TopCoder
在TopCoder下载好luncher,网址:https://www.topcoder.com/community/competitive%20programming/ 选择launch web ar ...
- TopCoder SRM 596 DIV 1 250
body { font-family: Monospaced; font-size: 12pt } pre { font-family: Monospaced; font-size: 12pt } P ...
- 求拓扑排序的数量,例题 topcoder srm 654 div2 500
周赛时遇到的一道比较有意思的题目: Problem Statement There are N rooms in Maki's new house. The rooms are number ...
- TopCoder SRM 590
第一次做TC,不太习惯,各种调试,只做了一题...... Problem Statement Fox Ciel is going to play Gomoku with her friend ...
- Topcoder Arena插件配置和训练指南
一. Arena插件配置 1. 下载Arena 指针:http://community.topcoder.com/tc?module=MyHome 左边Competitions->Algorit ...
随机推荐
- OpenSUSE 安装并启动Tomcat
安装.用YsST2搜索tomcat安装就好了.不过版本肯定不如官网的新,笔者用的是7.0.42,最新的已经到8.X了. 启动.在服务管理器中找到tomcat,启动.
- 【转】 (C#)利用Aspose.Cells组件导入导出excel文件
Aspose.Cells组件可以不依赖excel来导入导出excel文件: 导入: public static System.Data.DataTable ReadExcel(String strFi ...
- Stanford parser学习:LexicalizedParser类分析
上次(http://www.cnblogs.com/stGeekpower/p/3457746.html)主要是对应于javadoc写了下LexicalizedParser类main函数的功能,这次看 ...
- 利用Unicode属性移除文本中的标点符号
原文:http://bbs.csdn.net/topics/270033191 摘抄: str = str.replaceAll("[\\pP‘’“”]", "&qu ...
- apache common包下的StringUtils的join方法
apache common包下的StringUtils的join方法: 关键字:java string array join public static String join(Iterator it ...
- WCF + EF 遇到的问题
此文承接上一文章 基于WCF的API实现 http://www.cnblogs.com/heyixiaoran/p/4000695.html 由于上一次Entity部分没怎么写,到Services里识 ...
- Allegro中板子边框不封闭导致的z-copy无法用的问题
画一个不规则的边框,有半圆形状,导致边框不封闭,无法使用Z-COPY命令,下边是解决办法: 1 画好Outline后,选择 shape -> Compose Shape , options选项卡 ...
- Redis 四:存储类型之列表类型
.lpush num 依次从左边推入0 - .rpush num 依次从右边推入0 - .lrnage num - 显示num列表中所有的数据 结果: .lpop num 从左边删除并弹出一个元素 . ...
- 不逃离WIndows,Asp.Net就只能写写进销存管理系统
那个丹麦人把C#语言弄的再好,但是如果程序放进Windows+IIS这个容器,就有问题了. 我在I5+8G内存的机子上测试Windows2008+IIs,直接ab 2000并发压默认的HTML主页,还 ...
- C++中的运算符优先级
1 () [] . ->2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof 3 * / % 4 + ...