為幫助廣大軟考中級軟件設(shè)計師考生更好備考,信管網(wǎng)特整理匯總了軟件設(shè)計師部分《案例分析》真題、答案及解析供考生查閱,并提供免費在線模擬答題、歷年真題免費下載等服務,了解軟件設(shè)計師更多備考信息請關(guān)注信管網(wǎng)。
相關(guān)推薦:
點擊查看:軟件設(shè)計師在線培訓課程 丨 免費試聽課程
免費練習:軟件設(shè)計師考試題庫(模擬試題、章節(jié)練習、每日一練)
閱讀以下說明和c程序,將應填入 (n) 處的字句寫在答題紙的對應欄內(nèi)。
【說明】
假設(shè)需要將n個任務分配給n個工人同時去完成,每個人都能承擔這n個任務,
但費用不同。下面的程序用回溯法計算總費用最小的一種工作分配方案,在該方案中,為每個人分配1個不同的任務。
程序中,n個任務從0開始依次編號,n個工人也從0開始依次編號,主要的變量說明如下:
c[i][j]:將任務i分配給工人j的費用;
task[i]:值為0表示任務i未分配,值為j表示任務i分配給工人j;
worker[k]:值為0表示工人k未分配任務,值為1表示工人k已分配任務;
mincost:最小總費用。
【c程序】
#include
#define n 8 /*n表示任務數(shù)和工人數(shù)*/
int c[n][n];
unsigned int mincost=65535; /*設(shè)置min的初始值,大于可能的總費用*/
int task[n],temp[n],workerin];
void plan(int k,unsigned int cost)
{ int i;
if ( (1) &&cost
mincost=cost;
for (i=0;i
}
else{
for(i=0;i
if (worker[i]=0&& (2) ){
worker[i]=1; task[k]= (3) ;
plan( (4) ,cost+c[k][i]);
(5) ; task[k]=0;
}/*if*/
}
}/*plan*/
void main()
{int i,j;
for (i=0;i
worker[i]=0;task[i]=0; temp[i]=0;
for(j=0;j
scanf ("%d",&c[i][j]);
}
plan (0,0); /*從任務0開始分配*/
printf("\n最小費用=%d\n",mincost);
for(i二0;i
pnntf("task%d ib assigned toworker%d\n",i,temp[i]);
}/*main*/
信管網(wǎng)參考答案:
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請以權(quán)威部門公布的內(nèi)容為準!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學生提供專業(yè)、高質(zhì)量的課程和服務,解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點,為學員考試保駕護航。面授、直播&錄播,多種班型靈活學習,滿足不同學員考證需求,降低課程學習難度,使學習效果事半功倍。
發(fā)表評論 查看完整評論 | |