【题目】

WaWa的难题

题目描述

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

2
4

样例输出 Copy

1
4

【题解】

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

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

【搜索代码】

#include <bits/stdc++.h>
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 <bits/stdc++.h>
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;
}

吉首大学第八届“新星杯”大学生程序设计大赛 K: WaWa的难题(找规律)相关推荐

  1. 吉首大学第八届“新星杯”大学生程序设计大赛(暨新生网络同步赛)

    A-组合数 #include<stdio.h> #include<string.h> #define ll long long const int N=100; const i ...

  2. 吉首大学第八届“新星杯”大学生程序设计大赛部分解题报告

    问题 A: 组合数 题目描述 求组合数C(N,M),以及C(N,M)因子个数. 输入 N和M,其中0<=M<=N<=50,以EOF结束. 输出 该组合数结果 样例输入 Copy 3 ...

  3. 吉首大学第十届“新星杯”大学生程序设计大赛(暨新生网络同步赛)

    部分题解 前言 下午在群里面看到一个同学疯狂宣传这个比赛,处于好奇的态度(他说难度有cf1800)我参赛了,可能真的有cf1800的题目,只是我没做出来,离比赛还有十多分钟的时候到了吉首的OJ,注册了 ...

  4. 【简】题解 吉首大学第十一届“新星杯”大学生程序设计大赛

    传送门:OJ OJ 前言 A K题的大模拟实在写不动了 摸掉了(其实是其他作业叠太多了)等有空了再说吧 写得太烂  大佬们请不要介意 问题 A 咱俩下象棋去: 给你一个象棋盘  棋子的个数可能跟普通的 ...

  5. 【反思】吉首大学第九届“新星杯”大学生程序设计大赛(暨新生网络同步赛)

    昨天(12.22)打了一场吉首大学的网络赛,本来是奔着rank40的U盘去的,结果只有rank80,这样的结果肯定是有问题的,经过一夜的反思,下面总结一下错误. 1.首先是第一题,也是最不应该的,就还 ...

  6. 吉首大学第十届“新星杯”大学生程序设计大赛 A题题解

    这是一场很毒瘤的比赛. 鲁大师在一个星期前通知我们去打这场比赛,说名次高的有奖品,还说去年他们去参加这场比赛拿了前几名拿了个U盘-(疯狂暗示比赛很简单比赛很简单 ) 单纯的我真的信了 赛后得知这场比赛 ...

  7. 吉首大学第八届“新星杯”题解AEGIJK

      吉首大学第八届"新星杯"大学生程序设计大赛(暨新生网络同步赛) 问题 A: 组合数 组合数公式+分解质因子求因子个数 问题 E: Jack的A+B 细节 问题 G: 圆桌上的晚 ...

  8. 第十一届GPCT杯大学生程序设计大赛完美闭幕

    刚刚过去的周六(6月7号)是今年高考的第一天,同时也是GPCT杯大学生程序设计大赛颁奖的日子,下面我们用图文再回顾一下本次大赛颁奖的过程. 评审过程的一些花絮<感谢各位评审这些天的付出!> ...

  9. 【题解】吉首大学第六届新星杯暨程序设计大赛(新生网络同步赛).2016

    A 题目描述 C语言函数,数学函数,傻傻分不清楚~~ 题目很简单,我们定义F(x)是满足x取余a乘b的积等于0(即:x%(a*b)==0)这样的a,b的组数.现在给你一个n,你需要求出 F(n). 比 ...

最新文章

  1. NC:中科院微生物所陈义华组发现新颖的聚酮类化合物起始机制
  2. 万字大白话带你重拾计算机网络
  3. python英语单词库-python-data-英语单词
  4. Linux下Nginx+PHP+MySQL配置(图)
  5. 第一年的要求 工程系的研究生
  6. codeblocks全屏模式怎么退出_IntelliJ IDEA 2020.1 EAP2 发布:新增禅模式和 LightEdit 模式...
  7. Android在Context详细解释 ---- 你不知道Context
  8. qqsafe病毒 arp网站挂马 原理剖析-786ts.qqsafe-qqservicesyydswfhuw8ysjftwf.org(转载)
  9. EasyOffice-.NetCore一行代码导入导出Excel,生成Word
  10. PyTorch框架学习十七——Batch Normalization
  11. 李迟2021年9月知识总结
  12. 2021年泸州市高考三诊成绩查询,2020-2021学年四川省泸州市高考数学三诊试卷(理科)及答案解析...
  13. 【Flutter】Dart中的构造函数
  14. 用keil5将程序下载到板子里
  15. [附源码]SSM计算机毕业设计景区门票系统JAVA
  16. 【软件测试面试题】证券项目面试过程总结
  17. Office和Visio2019兼容下载
  18. 怎样使用轻快pdf阅读器
  19. C语言遍历windows目录文件 并对文件进行读写操作
  20. Polychain重仓的Findora公链,想带领DeFi脱虚向实

热门文章

  1. 网页三剑客,html/css/javascript
  2. 中国第三方支付系统目前存在的问题
  3. cocos2dx配置Android环境最新教程
  4. 接口测试工具Postman的基本使用
  5. c语言:分鱼(枚举)
  6. oracle 倒库命令
  7. 乘风破浪的5G,与隐藏在深海的EMC暗礁
  8. 理解 operator=
  9. 互联网之父访华 称将把互联网送到整个太阳系
  10. flash制作swf播放器