排列宝石问题

排列宝石问题

时间: 1ms        内存:64M

描述:


现有n种不同形状的宝石,每种n 颗,共n2颗。同一种形状的n颗宝石分别具有n种不同的颜色 c1 ,c2 ,…… ,cn 中的一种颜色。欲将这n2颗宝石排列成n行n列的一个方阵,使方阵中每一行和每一列的宝石都有n种不同形状和n种不同颜色。试设计一个算法,计算出对于给定的n,有多少种不同的宝石排列方案。

对于给定的n,计算出不同的宝石排列方案数。

输入:

输入数据只有1 行,有1 个正整数n,0< n< 9。

输出:

将计算出的宝石排列方案数输出。

示例输入:

1

示例输出:

1

提示:

参考答案(内存最优[1268]):

#include<iostream>
using namespace std;

int main(){
	int a[9]={0,1,0,72,6912,6220800,0,0,0};
	int n;
	while(cin>>n) cout<<a[n]<<endl;
	return 0;
}

参考答案(时间最优[0]):

#include<iostream>
using namespace std;

int main(){
	int a[9]={0,1,0,72,6912,6220800,0,0,0};
	int n;
	while(cin>>n) cout<<a[n]<<endl;
	return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注