實驗源代碼
//Warshall.cpp #include<stdio.h> void warshall(int k,int n) { int i , j, t; int temp[20][20]; for(int a=0;a<k;a++) { printf("請輸入矩陣第%d 行元素:",a); for(int b=0;b<n;b++) { scanf ("%d",&temp[a][b]); } } for(i=0;i<k;i++){ for( j=0;j<k;j++){ if(temp[ j][i]==1) { for(t=0;t<n;t++) { temp[ j][t]=temp[i][t]||temp[ j][t]; } } } } printf("可傳遞閉包關系矩陣是:\n"); for(i=0;i<k;i++) { for( j=0;j<n;j++) { printf("%d", temp[i][ j]); } printf("\n"); } } void main() { printf("利用 Warshall 算法求二元關系的可傳遞閉包\n"); void warshall(int,int); int k , n; printf("請輸入矩陣的行數 i: "); scanf("%d",&k);
四川大學實驗報告 printf("請輸入矩陣的列數 j: "); scanf("%d",&n); warshall(k,n); }
標簽:
warshall
離散
實驗
上傳時間:
2016-06-27
上傳用戶:梁雪文以
兩臺處理機A 和B處理n個作業。設第i個作業交給機器
A 處理時需要時間ai,若由機器B 來處理,則需要時間bi。由于各作
業的特點和機器的性能關系,很可能對于某些i,有ai >=bi,而對于
某些j,j!=i,有aj<bj。既不能將一個作業分開由兩臺機器處理,也沒
有一臺機器能同時處理2 個作業。設計一個動態規劃算法,使得這兩
臺機器處理完成這n 個作業的時間最短(從任何一臺機器開工到最后
一臺機器停工的總時間)。研究一個實例:(a1,a2,a3,a4,a5,a6)=
(2,5,7,10,5,2);(b1,b2,b3,b4,b5,b6)=(3,8,4,11,3,4)
標簽:
處理機
機器
上傳時間:
2014-01-14
上傳用戶:獨孤求源