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

  • 大小: 931KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-08
  • 語言: 其他
  • 標簽:

資源簡介

世界名畫陳列館由m×n個陳列室組成。為防止名畫被竊,需在陳列室中設置警衛機器人哨位。每個警衛機器人除了監視它所在的陳列室外,還可以監視與它所在陳列室相鄰的前、后、左、右4個陳列室。請設計一個安排警衛機器人哨位的方案,使得名畫陳列館中每一個陳列室都在警衛機器人監視之下,且所用的警衛機器人最少。 經典算法題目,有回溯法、分支限界法等......

資源截圖

代碼片段和文件信息

#include
#include
using?namespace?std;

ifstream?fin?(“input.txt“);
ofstream?fout(“output.txt“);
ofstream?testout(“testout.txt“);

class?Exhibit_hall{
friend?void?Setrobot(int?int);

private:
void?set(int?iint?jint?a[]);//放置機器人
void?recover(int?iint?jint?a[]);
void?Backtrack(int?iint?j);
void?GreedySearch(); //貪婪搜索
int?search(int?iint?j); //搜索在a[i][j]處設置機器人時它所監督未被監督的陳列室個數
void?set(int?iint?j);
int?mn; //陳列館的行數列數
int?mn; //陳列室個數
int?g_num; //陳列室中已被監視的個數
int?num; //當前機器人個數
int?num1; //用于貪心搜索中機器人的個數
int?**x; //當前解
int?bestn; //當前最優解的個數
int?**bestx;//當前最優解
};


void?Exhibit_hall::set(int?iint?jint?a[])//x[][]為1表示此房間已放置了一個機器人,為2表示此房間已被監視
{
num++;
a[0]=x[i][j];
if(a[0]==0)?g_num++;//若此陳列室未被監視,則此時已被監視g_num++
x[i][j]=1;//此位置放置了一個機器人
if(x[i-1][j]==0)?{a[1]=1;x[i-1][j]=2;g_num++;}//若上方未被監視則此時設置未已被監視
if(x[i][j+1]==0)?{a[2]=1;x[i][j+1]=2;g_num++;}
if(x[i+1][j]==0)?{a[3]=1;x[i+1][j]=2;g_num++;}
if(x[i][j-1]==0)?{a[4]=1;x[i][j-1]=2;g_num++;}
}

void?Exhibit_hall::recover(int?iint?jint?a[])//撤消機器人
{
num--;
x[i][j]=a[0];
if(a[0]==0)?g_num--;

if(a[1])?{x[i-1][j]=0;g_num--;}
if(a[2])?{x[i][j+1]=0;g_num--;}
if(a[3])?{x[i+1][j]=0;g_num--;}
if(a[4])?{x[i][j-1]=0;g_num--;}
a[0]=0;a[1]=0;a[2]=0;a[3]=0;a[4]=0;
}


void?Exhibit_hall::Backtrack(int?iint?j)//回溯
{
if(i>m){
if(num {
for(int?k=1;k for(int?l=1;l bestx[k][l]=x[k][l];
bestn=num;
}
return;
}

if(num+(mn-g_num)/5>=bestn)?return;

//當此陳列室已被監視,則沒必要在此陳列室放設置警衛機器人
//因為x[i+1][j+1]放置一機器人優于此處放機器人

if(x[i][j]!=0)
Backtrack(i+j/nj%n+1);

//在此陳列室被監視
else
{
int?a[5]={0};
if(i {
set(i+1ja);
Backtrack(ij);
recover(i+1ja);
}
if((j {
set(ij+1a);
Backtrack(ij);
recover(ij+1a);
}
if(x[i+1][j]==0&&x[i][j+1]==0) //在此陳列室放置機器人
{
set(ija);
Backtrack(ij);
recover(ija);
}
}
}
int?Exhibit_hall::search(int?iint?j)
{
if(i==m+1||j==n+1)?return?0;
int?count=0;
if(x[i][j]==0)count?++;
if(x[i-1][j]==0)count?++;
if(x[i][j+1]==0)count?++;
if(x[i+1][j]==0)count?++;
if(x[i][j-1]==0)count?++;
return?count;
}
void?Exhibit_hall::set(int?iint?j)
{
num1++;
x[i][j]=1;

if(x[i-1][j]==0)x[i-1][j]=2;
if(x[i][j+1]==0)x[i][j+1]=2;
if(x[i+1][j]==0)x[i+1][j]=2;
if(x[i][j-1]==0)x[i][j-1]=2;
}

void?Exhibit_hall::GreedySearch()
{
for(int?i=1;i<=m;i++)
for(int?j=1;j<=n;j++)
{
if(x[i][j]==0)
{
int?a1=0a2=0a3=0;
a1=search(ij);
a2=search(i+1j);
a3=search(ij+1);
if(a1>=a2&&a1>=a3)set(ij);
else{
if(a2>=a3)
{
if(a2>a3)set(i+1j);
else?
if(x[i+1][j]!=0&&x[i][j+1]==0)set(ij+1);
else?set(i+1j);
}
else?set(ij+1);
}
}
}
for(i=1;i<=m;i++)
for

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????????3??2008-03-02?19:18??陳列館問題\input.txt

?????文件?????????43??2008-03-02?19:43??陳列館問題\output.txt

?????文件?????????40??2008-03-02?19:43??陳列館問題\testout.txt

?????文件???????3437??2008-03-02?19:20??陳列館問題\Exhi_hall.dsp

?????文件??????74752??2008-03-02?19:43??陳列館問題\Debug\vc60.idb

?????文件?????118784??2008-03-02?19:43??陳列館問題\Debug\vc60.pdb

?????文件????2103920??2008-03-02?19:20??陳列館問題\Debug\Exhi_hall.pch

?????文件?????573495??2008-03-02?19:43??陳列館問題\Debug\Exhi_hall.exe

?????文件????1139712??2008-03-02?19:43??陳列館問題\Debug\Exhi_hall.pdb

?????文件?????360897??2008-03-02?19:43??陳列館問題\Debug\Exhi_hall.obj

?????文件?????820444??2008-03-02?19:43??陳列館問題\Debug\Exhi_hall.ilk

?????文件??????33792??2008-03-02?19:45??陳列館問題\Exhi_hall.ncb

?????文件????????761??2008-03-02?19:43??陳列館問題\Exhi_hall.plg

?????文件????????475??2008-03-02?19:28??陳列館問題\readme.txt

?????文件??????48640??2008-03-02?19:45??陳列館問題\Exhi_hall.opt

?????文件????????526??2008-03-02?19:45??陳列館問題\Exhi_hall.dsw

?????文件???????4263??2008-03-03?20:30??陳列館問題\Exhi_hall.cpp

?????目錄??????????0??2008-03-02?19:20??陳列館問題\Debug

?????目錄??????????0??2007-12-21?20:15??陳列館問題

-----------?---------??----------?-----??----

??????????????5283984????????????????????19


評論

共有 條評論

相關資源