问题 K: WaWa的难题

2023-10-13 15:40
文章标签 问题 难题 wawa

本文主要是介绍问题 K: WaWa的难题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题 K: WaWa的难题

时间限制: 1 Sec  内存限制: 128 MB
提交: 570  解决: 125
[提交] [状态] [命题人:jsu_admin]
题目描述
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

 

dfs 打表前 10 项即可发现规律

 

a[i]=a[i-1]+a[i-3]+1

 

 

 1 #include<stdio.h>
 2 int num = 0;
 3 int sum = 0;
 4 void dfs(int n,int a){
 5     if(sum == n)
 6     {
 7         num ++;
 8         return ;    
 9     }
10     dfs(n,a++);
11 
12 }
13 int main()
14 {
15     int n;
16     long long a[1000];
17     a[1]=1;
18     a[2]=1;
19     a[3]=2;
20     a[4]=4;
21     for(int i=5;i<=100;i++)
22         a[i]=a[i-1]+a[i-3]+1;
23     while(scanf("%d",&n)!=EOF)    
24     {
25     //    num = 0;
26     //    dfs(n,1);
27         printf("%lld\n",a[n]);
28     }
29 }
View Code

打表

 1 #include <bits/stdc++.h>
 2 #include<iostream>
 3 #include<algorithm>
 4 #include<cstdlib>
 5 #include<cstring>
 6 #include<cstdio>
 7 #include<string>
 8 #include<vector>
 9 #include<bitset>
10 #include<queue>
11 #include<deque>
12 #include<stack>
13 #include<cmath>
14 #include<list>
15 #include<map>
16 #include<set>
17 //#define DEBUG
18 #define RI register int
19 using namespace std;
20 typedef long long ll;
21 //typedef __int128 lll;
22 const int N=1000;
23 const int MOD=1e9+7;
24 const double PI = acos(-1.0);
25 const double EXP = 1E-8;
26 const int INF = 0x3f3f3f3f;
27 int t,n,m,k,q;
28 int ans=0;
29 int vis[110];
30 void dfs(int x,int c){
31     if(c>=n){
32         ans++;
33         return;
34     }
35     int l=max(1,x-2);
36     int r=min(n,x+2);
37     for(int i=l;i<=r;i++){
38         if(!vis[i]){
39             vis[i]=1;
40             dfs(i,c+1);
41             vis[i]=0;
42         }
43     }
44 }
45 int main()
46 {
47 #ifdef DEBUG
48     freopen("input.in", "r", stdin);
49     //freopen("output.out", "w", stdout);
50 #endif
51     ll a[N];
52     a[1]=1;
53     a[2]=1;
54     a[3]=2;
55     a[4]=4;
56     for(int i=5;i<=100;i++)
57         a[i]=a[i-1]+a[i-3]+1;
58     while(~scanf("%d",&n)){
59         //ans=0;
60         //memset(vis,0,sizeof(vis));
61         //vis[1]=1;
62         //dfs(1,1);
63         cout << a[n] << endl;
64     }
65     //cout << "Hello world!" << endl;
66     return 0;
67 }
View Code

 

转载于:https://www.cnblogs.com/DWVictor/p/10202517.html

这篇关于问题 K: WaWa的难题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/204239

相关文章

SpringBoot项目jar依赖问题报错解析

《SpringBoot项目jar依赖问题报错解析》本文主要介绍了SpringBoot项目中常见的依赖错误类型、报错内容及解决方法,依赖冲突包括类找不到、方法找不到、类型转换异常等,本文给大家介绍的非常... 目录常见依赖错误类型及报错内容1. 依赖冲突类错误(1) ClassNotFoundExceptio

MybatisPlus 多数据源切换@DS注解失效问题解决

《MybatisPlus多数据源切换@DS注解失效问题解决》在业务开发中使用到了多数据源,遇到了@DS注解失效问题,有两个场景使用到同一个@DS的查询方法,下面就来介绍一下该问题的解决,感兴趣的可以... 在业务开发中使用到了多数据源,遇到了@DS注解失效问题,有两个场景使用到同一个@DS的查询方法,一个正

Centos7 firewall和docker冲突问题及解决过程

《Centos7firewall和docker冲突问题及解决过程》本文描述了一个在CentOS7上使用firewalld和Docker容器的问题,当firewalld启动或重启时,会从iptable... 目录系统环境问题描述问题排查解决办法总结本文只是我对问题的记录,只能用作参考,不能China编程说明问题,请

JAVA Calendar设置上个月时,日期不存在或错误提示问题及解决

《JAVACalendar设置上个月时,日期不存在或错误提示问题及解决》在使用Java的Calendar类设置上个月的日期时,如果遇到不存在的日期(如4月31日),默认会自动调整到下个月的相应日期(... 目录Java Calendar设置上个月时,日期不存在或错误提示java进行日期计算时如果出现不存在的

Mybatis对MySQL if 函数的不支持问题解读

《Mybatis对MySQLif函数的不支持问题解读》接手项目后,为了实现多租户功能,引入了Mybatis-plus,发现之前运行正常的SQL语句报错,原因是Mybatis不支持MySQL的if函... 目录MyBATis对mysql if 函数的不支持问题描述经过查询网上搜索资料找到原因解决方案总结Myb

Nginx错误拦截转发 error_page的问题解决

《Nginx错误拦截转发error_page的问题解决》Nginx通过配置错误页面和请求处理机制,可以在请求失败时展示自定义错误页面,提升用户体验,下面就来介绍一下Nginx错误拦截转发error_... 目录1. 准备自定义错误页面2. 配置 Nginx 错误页面基础配置示例:3. 关键配置说明4. 生效

Springboot3统一返回类设计全过程(从问题到实现)

《Springboot3统一返回类设计全过程(从问题到实现)》文章介绍了如何在SpringBoot3中设计一个统一返回类,以实现前后端接口返回格式的一致性,该类包含状态码、描述信息、业务数据和时间戳,... 目录Spring Boot 3 统一返回类设计:从问题到实现一、核心需求:统一返回类要解决什么问题?

maven异常Invalid bound statement(not found)的问题解决

《maven异常Invalidboundstatement(notfound)的问题解决》本文详细介绍了Maven项目中常见的Invalidboundstatement异常及其解决方案,文中通过... 目录Maven异常:Invalid bound statement (not found) 详解问题描述可

idea粘贴空格时显示NBSP的问题及解决方案

《idea粘贴空格时显示NBSP的问题及解决方案》在IDEA中粘贴代码时出现大量空格占位符NBSP,可以通过取消勾选AdvancedSettings中的相应选项来解决... 目录1、背景介绍2、解决办法3、处理完成总结1、背景介绍python在idehttp://www.chinasem.cna粘贴代码,出

SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)

《SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)》本文总结了SpringBoot项目整合Kafka启动失败的常见错误,包括Kafka服务器连接问题、序列化配置错误、依赖配置问题、... 目录一、Kafka服务器连接问题1. Kafka服务器无法连接2. 开发环境与生产环境网络不通二、序