ACM之跳骚---ShinePans
Description
比方当N=2,M=18时,持有卡片(10, 15, 18)的跳蚤,就能够完毕任务:他能够先向左跳10个单位长度,然后再连向左跳3次,每次15个单位长度,最后再向右连跳3次,每次18个单位长度。而持有卡片(12, 15, 18)的跳蚤,则怎么也不可能跳到距他左边一个单位长度的地方。
当确定N和M后,显然一共同拥有M^N张不同的卡片。如今的问题是,在这全部的卡片中,有多少张能够完毕任务。
Input
Output
Sample Input
2 4
Sample Output
12
Hint
(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的更多相关文章
- poj 1091 跳骚
/** 题意: 求对于小于m的n个数, 求x1*a1 + x2*a2+x3*a3........+xn*an = 1 即求 a1,a2,a3,....an 的最大公约数为1 , a1,a2....an ...
- 时效性:NABCD分析结果
N:失物招领,表白墙,二手跳骚群,里面的信息都没有真正的利用起来,好多有用的信息,全部被覆盖,同时,也有好多信息,使用户不想看到的,时效性,是个重大的问题. 例如:暑假放假,我背着书包拿着行李,等候火 ...
- 《玩转Django2.0》读书笔记-Django建站基础
<玩转Django2.0>读书笔记-Django建站基础 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.网站的定义及组成 网站(Website)是指在因特网上根据一 ...
- Stay true to yourself
https://zhuanlan.zhihu.com/p/22928614 艾伦·德詹尼斯,1958年1月26日出生于美国路易斯安纳州梅泰里,美国主持人.演员.凭借出众的诙谐幽默的口才和喜剧天赋,活跃 ...
- IT知识大扫盲
做了这么多软件开发,下列一些知识不一定都懂. 首先,说一些电子商务扫盲的名词: 常见的电子商务类型有:C2C.B2B.B2C.C2B.O2O等等,下面来简要说明下这几种类型. C2C(Customer ...
- kali Linux 上编译并使用RFID核弹——proxmark3
你还在在Windows下使用proxmark3?弱爆了! 本文作者:i春秋签约作家——冰尘 作为一个标准的日天日地日空气的(单身贵族泰迪)物理黑客Proxmark3这么高大上的东西应该是在键盘敲打声中 ...
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛.B.跳一跳,很简单的(Hash 倍增)
题目链接 首先变换的周期是\(26\),而所有字符是同时变的,所以一共就只有\(26\)种树,我们对\(26\)棵树分别处理. 求某节点到根路径上的字符串,可以从根往下哈希,\(O(n)\)预处理出. ...
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 B题 跳一跳,很简单的(字符串Hash + 树上路径倍增)
题目链接 2018广东工业大学校赛 Problem B 考虑到每条边的权值变化$26$个时刻之后一定会回到原来的状态. 那么预处理出前$26$个时刻每棵树的形态,对每棵树做一遍字符串哈希. 查询的 ...
- ACM卡常数(各种玄学优化)
首先声明,本博文部分内容仅仅适用于ACM竞赛,并不适用于NOIP与OI竞赛,违规使用可能会遭竞赛处理,请慎重使用!遭遇任何情况都与本人无关哈=7= 我也不想搞得那么严肃的,但真的有些函数在NOIP与O ...
随机推荐
- Java 大数类
划分结果存在数组.供应商下标0 在剩下的标记1 import java.math.BigInteger; import java.util.Scanner; public class Main { p ...
- ZooKeeper实践方案:(7) 分布式锁
1.基本介绍 分布式锁是控制分布式系统之间同步訪问共享资源的一种方式,须要相互排斥来防止彼此干扰来保证一致性. 利用Zookeeper的强一致性能够完毕锁服务.Zookeeper的官方文档是列举了两种 ...
- Object-C 新手教程
大纲 開始吧 下载这篇教学 设定环境 前言 编译 hello world 创建 Classes @interface @implementation 把它们凑在一起 具体说明... 多重參数 建构子( ...
- OCP-1Z0-051-题目解析-第14题
14. Using the CUSTOMERS table, you need to generate a report that shows 50% of each credit a ...
- hdu 5074 相邻的和最大dp
http://acm.hdu.edu.cn/showproblem.php?pid=5074 给定一个序列 有些位数未知,给你全部两个数连续所得到的能量.问你怎么安排数字使得总能量最大 二维dp,dp ...
- 开源Math.NET基础数学类库使用(01)综合介绍
原文:[原创]开源Math.NET基础数学类库使用(01)综合介绍 开源Math.NET基础数学类库使用系列文章总目录: 1.开源.NET基础数学计算组件Math.NET(一)综合介绍 2. ...
- Linux-2.6.32内核编译流量计数器nfacct
最近一直想看到一本书<一个Jiegeng华>.而技术不依赖书.但是,这并不表示我IT技术没有兴趣.事实证明,,当我无法理解的沧桑.肮脏的领导者无法理解的心理.自我可惜无法理解它处处感受到脏 ...
- java线程中的sleep和wait区别
面试题:java线程中sleep和wait的区别以及其资 ...
- Android 中字体的处理
//得到TextView控件对象 TextView textView = (TextView)findViewById(R.id.custom); //将字体文件保存在assets/fonts/文件夹 ...
- python 性能- and-or 学习技能
C语言类似表情: bool ? a : b ,当表达式值为真的话,值为a.否则为b. 看一个样例: >>> a = "first" >>> b ...