博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
吉首大学第八届“新星杯”大学生程序设计大赛 K: WaWa的难题(找规律)
阅读量:3899 次
发布时间:2019-05-23

本文共 1306 字,大约阅读时间需要 4 分钟。

【题目】

题目描述

HaHa和WaWa是好朋友,他们在临近期末的这段时间一起宅在图书馆学习。

今天HaHa在书上看到一个排列组合题目,思考很久后,仍然找不出其中的规律。
于是他把题目叙述给了WaWa。
题目:
————————————————————————
一个长度为N的排列,由数字1~N组成,它满足两个条件。
1、数字1永远在第一位。
2、任意两个相邻数字之差小于等于2。
现在给出一个N,
你能知道能组成多少个符合条件的排列吗?。
例如:
N=4
1 2 3 4
1 2 4 3
1 3 2 4
1 3 4 2
所以答案为4
————————————————————————
WaWa听后也是一脸懵逼。
现在WaWa想求助于你们,WaWa给出一个正整数N,问你用1~N能组成多少个符合题意的排列。

 

输入

多组数据。

每组数据输入一个正整数N(1<=N<=100)。

输出

输出符合题意的排列个数

样例输入 Copy

24

样例输出 Copy

14

【题解】

一开始以为是深搜,然后超时,试图优化无果,效率过低暴力跑到三十多就跑不动了。然后发现有规律。

f[1]=1,f[2]=1,f[3]=2,f[n]=f[n-1]+f[n-3]+1(n>3)

【搜索代码】

#include 
using namespace std;typedef long long ll;int a[105],vis[105]={0},ans;void dfs(int pos,int n){ if(pos==n) { ans++; return; } for(int i=2;i<=n;i++) { if(vis[i]==0&&abs(a[pos-1]-i)<=2) { a[pos]=i; vis[i]=1; dfs(pos+1,n); vis[i]=0; } }}int main(){ int n; a[0]=1; for(int n=1;n<=100;n++) { ans=0; dfs(1,n); printf("f[%d]=%d\n",ans); } return 0;}

 

【代码】

#include 
using namespace std;typedef long long ll;ll ans[105];void cul(){ ans[1]=1;ans[2]=1;ans[3]=2; for(int i=4;i<=100;i++) ans[i]=ans[i-1]+ans[i-3]+1;}int main(){ cul(); int n; while(~scanf("%d",&n)) printf("%lld\n",ans[n]); return 0;}

 

转载地址:http://wfben.baihongyu.com/

你可能感兴趣的文章
“金9银10”2020年JVM高频率面试题整理,技术提升就差一个点!
查看>>
简简单单的分享2020常见的MySQL面试题MySQL与答案整理
查看>>
听说只有大厂的Android工程师才能全答对这20道题?我看你在吹牛哦!
查看>>
武功秘籍之 Redis 面试题全掌握,学完马上找面试官对线!
查看>>
50道!2020年!!MySQL高频数据库面试题解析,你都懂了吗?
查看>>
如何用Spring Boot加密配置文件中的特殊内容示例代码详解
查看>>
谈谈这些年面试官给大伙下的那些套,如何解?(面试技巧)
查看>>
5年开发经验的我被几条朋友圈打击到,点燃自己冲击阿里面经!
查看>>
5年工作经验的我放弃安逸,一份来自腾讯魔鬼面试的终极考验!
查看>>
学JAVA吗同学,这篇Sping boot 确定不了解下么?
查看>>
(3年+offer)华为技术岗面试初面+综合面试经验总结
查看>>
男默女泪,努力复习的我终于通过社招进入BAT工作了!(JAVA+JVM+框架+中间件+Spring干货分享)
查看>>
Python 导包
查看>>
dok_matrix
查看>>
theano 后端爆内存
查看>>
os.environ 和 keras.json
查看>>
后台面试经典问题-手写LRU算法
查看>>
Part-Guided Attention Learning for Vehicle Instance Retrieval
查看>>
Deep Residual Learning for Image Recognition
查看>>
Bag of Tricks and A Strong Baseline for Deep Person Re-identification
查看>>