*现有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()
{
}