*现有n
种不同形状的宝石,每种宝石有足够多颗。
*将这些宝石排列成m行n
列的一个矩阵,m≤n,使矩阵中每一行和每一列的宝石都没有相同形状。
*设计一个算法,计算出对于给定的m和n,有多少种不同的宝石排列方案。
**编程任务
*对于给定的m和n,计算出不同的宝石排列方案数。
**数据输入
input.txt
*第一行有两个正整数m和n,0<m<=9
**数据输出
output.txt
*将计算出的宝石排列方案数输出到文件
**解决思路
*回溯,主要是行和列一起回溯
*二维数组board[m][n]存储宝石矩阵。每行初始化为单位排列,第一行从上到下为1,2,...m
**参考
*<a
href="http://longgongshiye.blog.163.com/blog/static/17148259720117178143225/"
target="_blank"> 参考代码
</a>
*/
#include
<stdio.h>
#include
<iostream>
#include
<fstream>
#include
<string>
#include
<vector>
using
namespace
std;
int
const
MAX = 9;
typedef
int
ARRAY2D[MAX][MAX];
ARRAY2D board;
int
N(0), M(0),Count(0);
inline
void
readfile(const
string &filename)
{
}
template
<typename
T>
inline
int
writefile(string filename, T n)
{
}
int
bound(int
r, int
c)
{
}
void
backtrack(int
r, int
c)
{
}
int
main()
{
}