蓝桥杯
qq789045
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
幸运数
这道题不知道怎么搞的,既然1是幸运数,应该把位置为1的倍数的数都删了呀。初始化的时候得初始化奇数 两个游标,一个是新数列的,一个是原数列的。 由于结果只有n和m之间,大于n的不用管 #include #include #include #include #include #include #include using namespace std; #define MAXN原创 2017-02-27 23:48:45 · 682 阅读 · 0 评论 -
核桃的数量
#include #include #include #include #include #include #include using namespace std; int gcd(int a, int b) { if (b<a) { int temp = a; a = b; b = temp; } while (b != 0) { int temp = a%b;原创 2017-02-19 23:45:59 · 440 阅读 · 0 评论 -
带分数
先枚举前面的整数,然后剩下的数字集中,dfs来枚举排列,枚举分子长度。 #include #include #include #include #include #include #include using namespace std; bool isUsed[15]; int num[15]; int ans; int a, n; int leftCount; int pow1原创 2017-02-20 00:34:24 · 334 阅读 · 0 评论 -
剪格子
从左上角开始dfs #include #include #include #include #include #include #include using namespace std; #define MAXN 15 int n, m; int map[MAXN][MAXN]; bool isUsed[MAXN][MAXN]; int sum; int curSum; int g原创 2017-02-20 02:01:18 · 394 阅读 · 0 评论 -
翻硬币
#include #include #include #include #include #include #include #include using namespace std; char s1[1010]; char s2[1010]; int main() { scanf("%s", s1); scanf("%s", s2); int count = 0; for(int原创 2017-02-20 02:24:29 · 365 阅读 · 0 评论 -
连号区间数
记录每个开始的数,从左到右最小最大的数,如果最大减最小等于区间长度,ans++ #include #include #include #include #include #include #include using namespace std; #define MAXN 15 int arr[50010]; int n; int main() { scanf("%d", &n原创 2017-02-26 21:57:27 · 401 阅读 · 0 评论 -
买不到的数目
从小到大递推动归,初始值a,b能组成,然后递推出所有组合。 #include #include #include #include #include #include #include using namespace std; #define MAXN 1000005 bool dp[MAXN]; int main() { int a, b; memset(dp, 0,原创 2017-02-26 23:03:41 · 342 阅读 · 0 评论 -
大臣的旅费
这道题没说数据量,最后一组数据总是过不了,数据量太大了,要用邻接表节省内存。 一棵树,随便一个点深度dfs,最长的路径肯定经过树根,树根到终点肯定是最远两个点的一段,所以在再终点做dfs。 #include #include #include #include #include #include #include using namespace std; #defi原创 2017-02-27 12:57:31 · 727 阅读 · 0 评论
分享