[C++] 关键路径 →→→→→进入此内容的聊天室

来自 , 2019-09-26, 写在 C++, 查看 105 次.
URL http://www.code666.cn/view/8038da89
  1. #include <stdio.h>
  2. #define NODES 6
  3. int graph[6][6]={
  4.         {0,0,1,1,0,0},
  5.         {0,0,0,0,1,0},
  6.         {0,0,0,0,0,1},
  7.         {0,0,0,0,0,1},
  8.         {0,0,0,0,0,1},
  9.         {0,0,0,0,0,0},};
  10. int result[6];
  11. int i=0;
  12.  
  13. void setline(int line) {
  14.         for (int i=0;i<NODES;i++) {
  15.                 graph[line][i]=0;
  16.         }
  17. }
  18.  
  19. int judgecol(int col) {
  20.         for (int i=0;i<NODES;i++) {
  21.                 if (graph[i][col]) {
  22.                         return 0;
  23.                 }
  24.         }
  25.         return 1;
  26. }
  27.  
  28. int main() {
  29.         int isdeleted[NODES]={0,0,0,0,0,0};
  30.         while (!isdeleted[0]||!isdeleted[1]||!isdeleted[2]||!isdeleted[3]||!isdeleted[4]||!isdeleted[5]) {
  31.                 int node;
  32.                 if (judgecol(0)&&!isdeleted[0]) node=0;
  33.                 if (judgecol(1)&&!isdeleted[1]) node=1;
  34.                 if (judgecol(2)&&!isdeleted[2]) node=2;
  35.                 if (judgecol(3)&&!isdeleted[3]) node=3;
  36.                 if (judgecol(4)&&!isdeleted[4]) node=4;
  37.                 if (judgecol(5)&&!isdeleted[5]) node=5;
  38.                 setline(node);
  39.                 isdeleted[node]=1;
  40.                 printf("%d ",node+1);
  41.                 //if (judgecol(0)&&judgecol(1)&&judgecol(2)&&judgecol(3)&&judgecol(4)&&judgecol(5)) break;
  42.         }
  43.         return 0;
  44. }

回复 "关键路径"

这儿你可以回复上面这条便签

captcha