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