NYOJ 366题

原创 2013年12月01日 22:49:56
这道题主要就是一个递归思想,自己刚做题对递归确实不熟,这道题还是通过白皮书才懂!
对n个数的全排列,首先看n为三时,则它的全排列分别是123; 132; 213; 231; 312; 321。全排列时首先是对第一个数进行排列,排列完1则再去排列2以此类推。
比如n为3时,1放到最前面,后面的2和3则也同样需要进行全排列,想说的更明白点  不过自己开解有限,说不太清,具体实现看代码   代码中会有解释!
#include<stdio.h>
int a[15], b[15];
void f(int m, int n)//全排列函数  m是指已经排列的个数,n是指要排列的个数
{
	int i, j, ok;
	if(m == n)//说明排列已完  可以输出了
	{
		for(i = 0; i < n; i++)
			printf("%d", b[i]);
			printf("\n");
	}
	else
	{
		for(i = 0; i < n; i++)//通过这个双重循环可以找出为排列最小的那个数
		{
			ok = 1;
			for(j = 0; j < m; j++)//b数组中装的是前面m个数的排列

			{
				if(b[j] == a[i])
				{
					ok = 0;
					break;
				}				
			}
			if(ok)
			{
				b[m] = a[i];//若a[i]为被排列,则赋值给b数组
				f(m + 1, n);//递归循环
			}
		}
	}
}
int main()
{
	int t, i, n;
	scanf("%d", &t);
	while(t--)
	{
		scanf("%d", &n);
		for( i= 0; i < n; i++)
		{
			a[i] = i + 1;//a数组中的数时有序的,看其赋值形式就可知
		}
		f(0, n);
	}
	return 0;
}
//理解有限,表达能力有限整理的有点烂, 谅解!

nyoj-366 D的小L

D的小L 时间限制:4000 ms  |  内存限制:65535 KB 难度:2 描述      一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小...
  • changjiale110
  • changjiale110
  • 2017年05月16日 20:35
  • 225

NYOJ 366 D的小L

D的小L 时间限制:4000 ms  |  内存限制:65535 KB 难度:2 描述      一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕...
  • jinjide_ajin
  • jinjide_ajin
  • 2016年04月29日 17:28
  • 151

nyoj 1234 签到题,一个很简单的数学题;

签到题 nyoj 1234 ,题目链接 click here签到题 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 hrw最近看到一个有趣的几何题,...
  • Trapper_C
  • Trapper_C
  • 2016年07月22日 12:18
  • 419

NYOJ练习题 删除元素(二分查找)

删除元素 时间限制:1000 ms  |  内存限制:65535 KB 描述 题意很简单,给一个长度为n的序列,问至少删除序列中多少个数,使得删除后的序列中的最大值最小值 输入多组测试...
  • LYHVOYAGE
  • LYHVOYAGE
  • 2013年10月20日 15:32
  • 1319

nyoj-835-吉他练习

#include #include char a[205],b[5]={'C','A','m','E','m'}; int main() {     int n,i,j;     whil...
  • u011514451
  • u011514451
  • 2014年04月26日 19:26
  • 342

NYOJ 891 找点

找点 时间限制:2000 ms  |  内存限制:65535 KB 难度:2 描述 上数学课时,老师给了LYH一些闭区间,让他取尽量少的点,使得每个闭区间内至少有一个点...
  • u012409007
  • u012409007
  • 2014年02月22日 10:34
  • 983

Nyoj 954 N!

题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=954 计算n!
  • Hearthougan
  • Hearthougan
  • 2014年04月29日 12:40
  • 718

NYOJ--32(搜索)-题目-----------------------------组合数

package search; /*组合数 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 找出从自然数1、2、... 、n(0...
  • u013091087
  • u013091087
  • 2015年03月02日 23:08
  • 346

NYOJ 882 K进制

K进制 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述 很简单,将任意十进制转换为K(1...
  • qq523176585
  • qq523176585
  • 2014年02月13日 19:06
  • 285

nyoj-Color the necklace(Ploya定理 + 欧拉函数 + 扩展欧几里得(求逆元))

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=688
  • u011026037
  • u011026037
  • 2014年04月18日 17:01
  • 618
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NYOJ 366题
举报原因:
原因补充:

(最多只允许输入30个字)