91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 547KB
    文件類型: .zip
    金幣: 2
    下載: 1 次
    發(fā)布日期: 2021-06-18
  • 語言: C/C++
  • 標簽: 拉丁矩陣??

資源簡介

拉丁矩陣C語言算法和報告,包含C語言代碼,主要為遞歸回溯算法,詳細包含注釋

資源截圖

代碼片段和文件信息

#include
#include
#include
using?namespace?std;

const?int?MAX?=?50;
int?n?m;
int?board[MAX][MAX];

//考察當前列是否有相同形狀的寶石
//如果有,返回false;否則,返回true
bool?ok(int?r?int?c?int?k)
{
????for(int?i=1;?i????{
????????if(board[i][c]?==?k)?//判斷當前列是否有相同形狀的寶石
????????????return?false;
????}
????return?true;
}

long?int?num?=?0;??
//不同的寶石排列方案數
//從上到下,從左到右遞歸搜索,即先行后列
void?backtrack(int?r?int?c)
{
????for(int?i=c;?i<=n;?i++)??//列
????{
????????if(ok(r?c?board[r][i]))??//考察當前列是否有相同形狀的寶石
????????{
????????????swap(board[r][c]?board[r][i]);?//交換列
????????????if(c?==?n)??//如果列考察完畢
????????????{
????????????????if(r?==?m)?//如果行考察完畢
????????????????{
????????????????????num++; //方案數+1
????????????????????return;
????????????????}
????????????????else
????????????????????backtrack(r+1?1);?//考察下一行
????????????}
????????????else
????????????????backtrack(r?c+1);?//考察下一列
????????????swap(board[r][c]?board[r][i]); //交換列
????????}???
????}
}

int?main()
{
????ifstream?fin(“input.txt“);
????ofstream?fout(“output.txt“);
????fin?>>?m;?
????fin?>>?n;
????int?i?j;
????for(i=1;?i<=m;?i++)
????????for(j=1;?j<=n;?j++)
????????????board[i][j]?=?j;

????backtrack(1?1);
????fout<????fout<????cout?<????return?0;
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????????3??2019-06-09?12:47??拉丁矩陣C語言算法和報告\input.txt
?????文件???????????6??2019-06-12?23:32??拉丁矩陣C語言算法和報告\output.txt
?????文件??????536064??2019-06-27?12:17??拉丁矩陣C語言算法和報告\實驗報告.doc
?????文件????????1481??2019-06-09?12:47??拉丁矩陣C語言算法和報告\拉丁矩陣.cpp
?????文件??????278528??2019-06-12?23:32??拉丁矩陣C語言算法和報告\拉丁矩陣.exe
?????文件????????6269??2019-06-12?23:32??拉丁矩陣C語言算法和報告\拉丁矩陣.o
?????目錄???????????0??2019-06-27?12:17??拉丁矩陣C語言算法和報告\

評論

共有 條評論

相關資源