首页 > 其他分享 >nflsoj 5924 选排列

nflsoj 5924 选排列

时间:2023-08-03 11:36:12浏览次数:35  
标签:排列 const nflsoj int dfs 5924

与全排列略微有些不同,只需要将退出条件需要改成 u==r

#include <iostream>
using namespace std;
const int N = 15;
int r,n;
int path[N];
bool st[N];
void dfs(int u)
{
    if(u==r)
    {
        for(int i=0;i<r;i++) printf("%d ",path[i]);
        printf("\n");
        return;
    }
    for(int i=1;i<=n;i++)
    {
        if(!st[i])
        {
            path[u]=i;
            st[i]=true;
            dfs(u+1);
            st[i]=false;
        }
    }
}
int main()
{
    cin>>n>>r;
    dfs(0);
    return 0;
}

标签:排列,const,nflsoj,int,dfs,5924
From: https://www.cnblogs.com/xiaozhu0602/p/17602823.html

相关文章

  • nflsoj 5926 素数环
    题目非常简单,只需要判断相邻两个数的和是不是素数,素数的判断参考数论不过要注意的一点是题目说的是一个环,所以首尾两个数的和也要是素数我在输出的时候加上了is_prime(path[n-1]+1)来判断#include<iostream>usingnamespacestd;constintN=20;intn;intpath[N];bo......
  • 排列组合
     排列:从n个元素的集合S中,有序的选出r个元素,叫做S 的一个r排列排列数的性质:第一条性质:(n*(n-1)*...*2*1)/((n-1-m+1)*...*2*1)=n!/(n-m)!;第二条性质:m*(n-1)!/(n-m)!+(n-1)!/(n-1-m)!=(n-m+m)*(n-1)!/(n-m)!=n!/(n-m)! 组合:从n个元素的集合S中,无序的选出r......
  • echarts中legend实现排列对齐
    问题当图表中的legend过多的时候,就需要考虑legend进行换行,但是换行之后,图例就会无法对齐。解决legend:{icon:"rect",width:"80%",itemWidth:6,itemHeight:6,bottom:0,textStyle:{color:"#333",rich:{a:{width:100,......
  • mongodb 倒叙排列
    MongoDB倒序排列在MongoDB中,我们可以使用sort()方法对查询结果进行排序。默认情况下,sort()方法按升序排序。如果想要倒序排列,我们可以在sort()方法中指定-1作为排序规则。在本文中,我们将讨论如何在MongoDB中进行倒序排列,并提供一些代码示例来演示这一过程。配置环境首先,我们需......
  • gdb 反汇编disas源码排列问题
    问题在开发过程中,可能需要查看cpp文件生成的汇编代码来确认一些问题。由于单纯的汇编代码看起来并不太容易捋清楚内部逻辑,所以最好能够把源代码的位置列出来。在gdb的早期版本中,这个功能是通过disas命令的/m修饰符(选项)来实现的。如果使用过这个选项就会发现,这个功能显示的结果......
  • 根据内存占据的大小排列,看到C盘里面哪个文件占据流量最大?
    大家好,我是皮皮。一、前言这篇文章还得从前几天在Python最强王者群【......
  • 排列组合
    错排问题对于第n信,必然放在1~n-1号信封中。假设n号信放在1号信封中,考虑一号信放在哪放在n号信封中,还剩的n-2封信和信封构成了n-2的子问题f(n-2)放在k号信封(\(2\lek<n\))f(n-1)因为n可以放在n-1个位置。所以(f(n-1)+f(n-2))*(n-1)P1595信封问题板子题,不多说了P4071[SDO......
  • 题解 P8338 [AHOI2022] 排列
    恶心题。每次操作,相当与把第\(i\)个数置换到\(p_i\),于是可以连边。因为\(i\)和\(p_i\)互不相同,所以对于每一个点,有且仅有一条出边和一条入边,即若干个简单环。那么最少操作\(\operatorname{lcm}(a_1,a_2,a_3...a_{x-2},a_{x-1},a_x)\)次点会都回到原位。其中\(a_i\)......
  • 【算法】在各种排列组合下,计算零钱找零方式数量
    写一个函数,在给定一系列硬币面额的情况下,计算你可以用多少种不同的方式来兑换一笔钱。例如,如果你有面额为1和2的硬币,有3种方法可以为4找零:1+1+1+1,1+1+2,2+2。硬币的顺序无关紧要:1+1+2==2+1+1此外,假设你有无限数量的硬币。示例调用,一个金额和一系列独特面额的硬币:CountCombin......
  • 算法——排列组合
    排列、组合适合回溯法,保存当前状态什么时候使用used数组,什么时候使用begin变量有些朋友可能会疑惑什么时候使用used数组,什么时候使用begin变量。这里为大家简单总结一下:排列问题,讲究顺序(即[2,2,3]与[2,3,2]视为不同列表时),需要记录哪些数字已经使用过,此时用**u......