日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

7-34 任务调度的合理性 (25 分)(思路加详解+兄弟们冲呀)

發(fā)布時(shí)間:2023/12/4 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 7-34 任务调度的合理性 (25 分)(思路加详解+兄弟们冲呀) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一:題目

假定一個(gè)工程項(xiàng)目由一組子任務(wù)構(gòu)成,子任務(wù)之間有的可以并行執(zhí)行,有的必須在完成了其它一些子任務(wù)后才能執(zhí)行。“任務(wù)調(diào)度”包括一組子任務(wù)、以及每個(gè)子任務(wù)可以執(zhí)行所依賴(lài)的子任務(wù)集。

比如完成一個(gè)專(zhuān)業(yè)的所有課程學(xué)習(xí)和畢業(yè)設(shè)計(jì)可以看成一個(gè)本科生要完成的一項(xiàng)工程,各門(mén)課程可以看成是子任務(wù)。有些課程可以同時(shí)開(kāi)設(shè),比如英語(yǔ)和C程序設(shè)計(jì),它們沒(méi)有必須先修哪門(mén)的約束;有些課程則不可以同時(shí)開(kāi)設(shè),因?yàn)樗鼈冇邢群蟮囊蕾?lài)關(guān)系,比如C程序設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu)兩門(mén)課,必須先學(xué)習(xí)前者。

但是需要注意的是,對(duì)一組子任務(wù),并不是任意的任務(wù)調(diào)度都是一個(gè)可行的方案。比如方案中存在“子任務(wù)A依賴(lài)于子任務(wù)B,子任務(wù)B依賴(lài)于子任務(wù)C,子任務(wù)C又依賴(lài)于子任務(wù)A”,那么這三個(gè)任務(wù)哪個(gè)都不能先執(zhí)行,這就是一個(gè)不可行的方案。你現(xiàn)在的工作是寫(xiě)程序判定任何一個(gè)給定的任務(wù)調(diào)度是否可行。

輸入格式:
輸入說(shuō)明:輸入第一行給出子任務(wù)數(shù)N(≤100),子任務(wù)按1~N編號(hào)。隨后N行,每行給出一個(gè)子任務(wù)的依賴(lài)集合:首先給出依賴(lài)集合中的子任務(wù)數(shù)K,隨后給出K個(gè)子任務(wù)編號(hào),整數(shù)之間都用空格分隔。

輸出格式:
如果方案可行,則輸出1,否則輸出0。

輸入樣例1:

12 0 0 2 1 2 0 1 4 1 5 2 3 6 1 3 2 7 8 1 7 1 10 1 7

結(jié)尾無(wú)空行
輸出樣例1:

1

結(jié)尾無(wú)空行
輸入樣例2:

5 1 4 2 1 4 2 2 5 1 3 0

輸出樣例2:

0

二:思路分析

這個(gè)題把入度直接給你了,省得去求了,即第一列就是按順序的某個(gè)結(jié)點(diǎn)的入度,如果有環(huán)的話(huà)肯定會(huì)有結(jié)點(diǎn)的入度不會(huì)為0;

三:上碼

//拓?fù)渑判?如果存在環(huán)則不能輸出正常序列 #include<stdio.h> void topology(int N){int i,j,k,m,b[105],count=0;int Indegree[105]={0};//入度初始化為0 int Queue[105],head=0,last=0;int c[105][105];//創(chuàng)建二維數(shù)組 將有到達(dá)這個(gè)頂點(diǎn)的 頂點(diǎn)存進(jìn)去for(i = 1; i<=N; i++){scanf("%d",&k);Indegree[i] = k;//將其入度存進(jìn)去了for(j=0; j<k; j++){scanf("%d",&c[i][j]);}}for(i = 1; i<=N; i++){if(Indegree[i] == 0)Queue[last++]=i;}while(head - last){m = Queue[head++];//出隊(duì) 將入度為0的出隊(duì)count++;//頂點(diǎn)度數(shù)開(kāi)始減一 為0 入隊(duì)for(i=1; i<=N; i++){for(j=0; j<105; j++){if(c[i][j] == m){Indegree[i]--;if(Indegree[i] == 0)Queue[last++] = i;}}}}if(count == N ){printf("1");}elseprintf("0"); } int main(){int N;scanf("%d",&N);topology(N); }

四:補(bǔ)充:

如果兄弟們覺(jué)得這道題入度給了,自己不用求,覺(jué)得不過(guò)癮的話(huà),我這還有碼,是求拓?fù)湫蛄?#xff0c;當(dāng)然也能判斷是否有環(huán)和無(wú)環(huán)

/* 1.AOV網(wǎng)(Activity On Vertex Network)【頂點(diǎn)——表示活動(dòng)】是一個(gè)——有向無(wú)回路的圖頂點(diǎn)——表示活動(dòng)用弧——表示活動(dòng)間的優(yōu)先關(guān)系的有向圖稱(chēng)為-頂點(diǎn)表示活動(dòng)的網(wǎng)即如果a->b,那么a是b的先決條件求拓?fù)湫蛄芯褪茿OV2.用鄰接矩陣存儲(chǔ)時(shí) 每一列表示這個(gè)頂點(diǎn)的入度(有向圖中) */ #include<bits/stdc++.h> using namespace std;typedef struct GNode* PtrGraph; typedef struct GNode{int Nv;int Ne;int Date[100][100]; }gnode;int cnt; //統(tǒng)計(jì)每個(gè)結(jié)點(diǎn)的入度 vector<int>v;//存入度的 vector<int>v1;//記錄拓?fù)湫蛄?//創(chuàng)建圖 void creatrGraph(PtrGraph G){int N,M;cin >> N >> M;G->Nv = N;G->Ne = M;//矩陣初始化for( int i = 0; i < G->Nv; i++ ){for(int j = 0; j < G->Nv; j++ ){G->Date[i][j] = 0;}} //矩陣賦值for(int i = 0; i < G->Ne; i++ ){int a,b;cin >> a >> b;G->Date[a][b] = 1;//有向圖 } } //求取每一列的數(shù)據(jù)和即為該頂點(diǎn)的入度 void degree(PtrGraph G){for(int j = 0; j < G->Nv; j++ ){cnt = 0;for( int i = 0; i < G->Nv; i++ ){if(G->Date[i][j] == 1)cnt++;}v.push_back(cnt);} } //求拓?fù)湫蛄?/span>void topology( PtrGraph G ){queue<int>q;int count = 0;//用于計(jì)算度數(shù)為0的結(jié)點(diǎn)的個(gè)數(shù) for( int i = 0; i < G->Nv; i++ ){if(v[i] == 0)q.push(i);//將入度為0的入隊(duì) } //這里就是處理每次去掉一個(gè)度數(shù)為0的點(diǎn)和其有關(guān)系的頂點(diǎn)度數(shù)減一 while( !q.empty() ){int temp = q.front();q.pop();v1.push_back(temp); count++;for( int j = 0; j < G->Nv; j++ ){//列 if( G->Date[temp][j] == 1 ){//在 temp 這一行中 等于 1的 j 需要入度減一 v[j]--;//其入度減一if( v[j] == 0 ){q.push(j);// 將入度為0的入度 }}}} if( G->Nv == count ){//沒(méi)有環(huán) for( int i = 0; i < v1.size(); i++ )cout << v1[i] << ' '; }else{cout << "此圖有環(huán)"; } } int main(){PtrGraph G = (PtrGraph)malloc(sizeof(struct GNode));creatrGraph(G);degree(G);topology(G);} //5 6 //0 1 //0 2 //1 3 //2 1 //2 4 //3 4 //拓?fù)湫蛄?#xff1a; 0 2 1 3 4

總結(jié)

以上是生活随笔為你收集整理的7-34 任务调度的合理性 (25 分)(思路加详解+兄弟们冲呀)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 毛片黄片免费看 | 欧美在线看片 | 国产成人在线观看免费网站 | 日韩电影一二三区 | 亚洲六月婷婷 | 久久99婷婷 | 国产精品自拍片 | 手机在线成人 | 鸭子av | 日本理论中文字幕 | 国产精品自拍视频 | 亲女禁h啪啪宫交 | 国产一级大片在线观看 | 一本高清视频 | 香蕉久久国产 | 午夜看毛片 | 爱情岛论语亚洲入口 | 一级中国毛片 | 精品国产av鲁一鲁一区 | 欧美激情片一区二区 | 伊人黄| av中文天堂 | 精品人妻无码一区二区三区换脸 | 国产香蕉精品视频 | 国产伦理片在线观看 | 污视频在线观看免费 | 欧美大片免费播放器 | 最新中文字幕在线 | 久久精品色欲国产AV一区二区 | 欧美国产一区二区三区 | 少妇高清精品毛片在线视频 | 5d肉蒲团之性战奶水 | 最新中文字幕视频 | 一级黄色片a | 999精品在线视频 | 99爱爱| 亚洲精品乱码久久久久99 | 在线观看va| 奇米影视一区二区三区 | 亚洲亚裔videos黑人hd | 91精品久久久久久久 | 亚洲五级片| 亚洲50p | 日韩中文欧美 | 女人脱下裤子让男人桶 | 青青草视频 | 亚洲成熟丰满熟妇高潮xxxxx | 麻豆视频传媒入口 | 花房姑娘免费观看全集 | 亚洲av综合色区无码一区 | 风韵少妇性饥渴推油按摩视频 | 一本一道精品欧美中文字幕 | 中文字幕超清在线免费观看 | 午夜影片 | 日韩美女在线 | 欧美91在线| 国产精品无码午夜福利 | 中文字幕网址在线 | 国产91色| 国产高清在线视频 | 欧美激情免费看 | 久久亚洲网| www.日本高清 | 日韩人体视频 | 好吊色一区二区 | 亚洲高清不卡 | 国产人人插 | 动漫av在线播放 | 久久久久久网址 | 欧美熟妇精品一区二区蜜桃视频 | 日韩激情床戏 | 午夜久久久久久久 | 亚洲三级电影 | 色妞综合网 | 骚虎视频在线观看 | 久久婷婷国产 | 91网站永久免费看nba视频 | 亚洲熟妇无码一区二区三区 | 午夜免费一区二区 | 欧美成人精品一区二区三区在线观看 | 91免费在线视频 | 欧美日韩高清一区二区三区 | 青青久久久 | 中文在线观看免费 | 蜜色影院 | 亚洲观看黄色网 | 91国产在线看| 91视频直接看 | 91国偷自产一区二区三区老熟女 | 夜夜骚视频 | 黄色日批网站 | 黄网站免费入口 | 自拍亚洲一区 | 精品日韩在线观看 | 亚洲免费黄色网 | 国模精品视频一区二区 | 自拍偷拍第2页 | 日韩精品中文字 | 农村偷人一级超爽毛片 |