Description

Z城市居住着非常多仅仅跳蚤。在Z城市周六生活频道有一个娱乐节目。一仅仅跳蚤将被请上一个高空钢丝的正中央。钢丝非常长,能够看作是无限长。节目主持人会给该跳蚤发一张卡片。卡片上写有N+1个自然数。当中最后一个是M,而前N个数都不超过M,卡片上同意有同样的数字。跳蚤每次能够从卡片上随意选择一个自然数S,然后向左,或向右跳S个单位长度。而他终于的任务是跳到距离他左边一个单位长度的地方,并捡起位于那里的礼物。 

比方当N=2,M=18时,持有卡片(10, 15, 18)的跳蚤,就能够完毕任务:他能够先向左跳10个单位长度,然后再连向左跳3次,每次15个单位长度,最后再向右连跳3次,每次18个单位长度。而持有卡片(12, 15, 18)的跳蚤,则怎么也不可能跳到距他左边一个单位长度的地方。 

当确定N和M后,显然一共同拥有M^N张不同的卡片。如今的问题是,在这全部的卡片中,有多少张能够完毕任务。 

Input

两个整数N和M(N <= 15 , M <= 100000000)。

Output

能够完毕任务的卡片数。

Sample Input

2 4

Sample Output

12

Hint

这12张卡片各自是: 

(1, 1, 4), (1, 2, 4), (1, 3, 4), (1, 4, 4), (2, 1, 4), (2, 3, 4), 

(3, 1, 4), (3, 2, 4), (3, 3, 4), (3, 4, 4), (4, 1, 4), (4, 3, 4) 

參考了下网上的解法,发现对逻辑的需求还是很高的!自己能力还不足

#include <stdio.h>
#include <conio.h>
#include <stdlib.h> //system(); 这个指令须要用到此头文件
#include <ctype.h> //toupper要用到
#include <malloc.h> //在内存管理时用到的头文件
#include <string.h> //字符串的头文件
#include <math.h> //数学运算 int m = 0, n = 0, c[1000] = { NULL }, position = 0, count_can = 0; bool jump(int x[])
{
int temp1[1000] = { NULL }, temp2[1000] = { NULL };
for (int i = 0; x[i] != NULL; i++)
{
if (x[i] == 1)
return(true);
temp1[i] = x[i];
}
int l = 1, s = 0;
do{
s = 0;
if (l == 1)
{ for (int i = 0; temp1[i] != NULL; i++)
{
for (int j = i + 1; temp1[j] != NULL; j++)
{ if (fabs(temp1[i] - temp1[j]) == 1)
{
return(true);
}
if (temp1[i] - temp1[j] != 0)
{
temp2[s] = (int)fabs(temp1[i] - temp1[j]);
s++;
}
}
temp1[i] = 0;
}
l = 2;
}
else
{ for (int i = 0; temp2[i] != NULL; i++)
{
for (int j = i + 1; temp2[j] != NULL; j++)
{
if (fabs(temp2[i] - temp2[j]) == 1)
{
return(true);
}
if (temp2[i] - temp2[j] != 0)
{
temp1[s] = (int)fabs(temp2[i] - temp2[j]);
s++;
}
}
temp2[i] = 0;
}
l = 1;
} } while (s != 0);
return(false); }
void card(int depth)
{
if (depth == m)
{
c[m] = n;
if (jump(c) == true)
{
count_can++;
}
return;
}
else
{
for (int i = 1; i <= n; i++)
{
c[depth] = i;
depth++;
card(depth);
depth--;
}
return;
}
}
void main()
{
scanf("%d%d", &m, &n);
card(0);
printf("%d\n", count_can);
}

ACM之跳骚---ShinePans的更多相关文章

  1. poj 1091 跳骚

    /** 题意: 求对于小于m的n个数, 求x1*a1 + x2*a2+x3*a3........+xn*an = 1 即求 a1,a2,a3,....an 的最大公约数为1 , a1,a2....an ...

  2. 时效性:NABCD分析结果

    N:失物招领,表白墙,二手跳骚群,里面的信息都没有真正的利用起来,好多有用的信息,全部被覆盖,同时,也有好多信息,使用户不想看到的,时效性,是个重大的问题. 例如:暑假放假,我背着书包拿着行李,等候火 ...

  3. 《玩转Django2.0》读书笔记-Django建站基础

    <玩转Django2.0>读书笔记-Django建站基础 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.网站的定义及组成 网站(Website)是指在因特网上根据一 ...

  4. Stay true to yourself

    https://zhuanlan.zhihu.com/p/22928614 艾伦·德詹尼斯,1958年1月26日出生于美国路易斯安纳州梅泰里,美国主持人.演员.凭借出众的诙谐幽默的口才和喜剧天赋,活跃 ...

  5. IT知识大扫盲

    做了这么多软件开发,下列一些知识不一定都懂. 首先,说一些电子商务扫盲的名词: 常见的电子商务类型有:C2C.B2B.B2C.C2B.O2O等等,下面来简要说明下这几种类型. C2C(Customer ...

  6. kali Linux 上编译并使用RFID核弹——proxmark3

    你还在在Windows下使用proxmark3?弱爆了! 本文作者:i春秋签约作家——冰尘 作为一个标准的日天日地日空气的(单身贵族泰迪)物理黑客Proxmark3这么高大上的东西应该是在键盘敲打声中 ...

  7. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛.B.跳一跳,很简单的(Hash 倍增)

    题目链接 首先变换的周期是\(26\),而所有字符是同时变的,所以一共就只有\(26\)种树,我们对\(26\)棵树分别处理. 求某节点到根路径上的字符串,可以从根往下哈希,\(O(n)\)预处理出. ...

  8. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 B题 跳一跳,很简单的(字符串Hash + 树上路径倍增)

    题目链接  2018广东工业大学校赛  Problem B 考虑到每条边的权值变化$26$个时刻之后一定会回到原来的状态. 那么预处理出前$26$个时刻每棵树的形态,对每棵树做一遍字符串哈希. 查询的 ...

  9. ACM卡常数(各种玄学优化)

    首先声明,本博文部分内容仅仅适用于ACM竞赛,并不适用于NOIP与OI竞赛,违规使用可能会遭竞赛处理,请慎重使用!遭遇任何情况都与本人无关哈=7= 我也不想搞得那么严肃的,但真的有些函数在NOIP与O ...

随机推荐

  1. LeetCode: Distinct Subsequences [115]

    [称号] Given a string S and a string T, count the number of distinct subsequences of T in S. A subsequ ...

  2. Spring HTTPInvoker原理猜想(HTTP+序列化)

    没有查看源码,仅作参考 实现步骤: 一,客户端 (1),远程调用信息封装为远程调用对象 (2),序列化写入到远程调用HTTP请求中 (3),向服务器发送 (4),服务器端返回的HTTP响应结果 (5) ...

  3. C++习题 对象数组输入与输出

    Description 建立一个对象数组,内放n(n<10)个学生的数据(学号.成绩),用指针指向数组首元素,输出第奇数(1,3,5,7)个学生的数据. Input n和n个学生的学号.成绩 O ...

  4. 设计模式 - 出厂模式(factory pattern) 详细说明

    出厂模式(factory pattern) 详细说明 本文地址: http://blog.csdn.net/caroline_wendy/article/details/27081511 工厂方法模式 ...

  5. poj 2762 Going from u to v or from v to u? (推断它是否是一个薄弱环节图)

    意甲冠军:给定一个有向图有m单向边缘.免费推断是否两点起来(a可以b要么b可以a或最多彼此),该请求 弱联通重量. 算法: 缩点求强连通分量.然后又一次建图.推断新图是否是一条单链,即不能分叉,假设分 ...

  6. yate.conf

    但档案.粘贴下面的例子.不解释!除去非常灵活!只保留sip电话! [general] ; General settings for the operation of Yate ; modload: b ...

  7. android 处理器crash刊物

    日志记录程序是为了方便各种异常情况,为了方便日后的维修方案进行维修,程序无法百分百健康,完美,有必要保存在日志中代码.易于维护.Java了一个接口UncaughtExceptionHandler,Th ...

  8. org.eclipse.birt.report.data.oda.jdbc.JDBCException: Missing properties in Connection.open(Propertie

    首先查看project的web.xml档"BIRT_RESOURCE_PATH"属性的设置.此属性设置的是"用户资源存放路径.这些资源包含 library 文件,imag ...

  9. hdu 3652 B-number(数字dp)

    http://acm.hdu.edu.cn/showproblem.php? pid=3652 大致题意:"B-number"即一个整数含有子串"13"且被13 ...

  10. BZOJ 1096 ZJOI2007 仓库建设 边坡优化

    标题效果:特定n植物,其中一些建筑仓库,有一点使,假设没有仓库仓库向右仓库.最低消费要求 非常easy边坡优化--在此之前刷坡优化的情况下,即使这道题怎么错过 订购f[i]作为i点建设化妆i花费所有安 ...