202009 3 點亮數字人生

2022-06-20 13:09:09 字數 1727 閱讀 1167

注意將題抽象成乙個圖的形式,同時注意w[maxn]的使用來記錄通過每個器件時的結果

//每通過乙個器件維護依次w[maxn],用來跟新所有器件的狀態,最後得到乙個總狀態,然後根據相應的要求輸出即可。

#include using

namespace

std;

const

int maxv = 505;//

最多500個器件

struct

node;//

建構函式

};vector

g[maxv];//

鄰接表int w[maxv];//

邊權重string type[maxv];//

器件型別

int indegree[maxv]=;//

入度bool initv[maxv]=;//

判斷是否初始化

vector test_in[10005];//

最多執行10000次

vector test_out[10005

];bool topologicalsort(int m,int

n)

while(!q.empty())

num++;

}if(num == m+n) return

true

;

else

return

false;}

void calculate(int m,int

n)

while(!q.empty())

else

if(temp_indegree[v] == 0

) }}

}int

main()

//清空鄰接表,準備處理下乙個問題

} memset(indegree,

0, sizeof

(indegree));

fill(initv, initv + maxv, false

);

for(int i = 0;i < maxv;i++)

for(int i = 0;i < 10005;i++)

}for(int i = 0;i < 10005;i++)

}//初始化完成,開始準備正式處理

cin>>m>>n;//

輸入個數,器件個數

for(int num = m;num < n + m;num++)//

從m開始進行編號

g[startpoint].push_back(node(num));

//構造圖

indegree[num]++;//

計算入度

} }

int s;//

運算次數

cin>>s;

for(int i = 0;i < s;i++)

}for(int i = 0;i < s;i++)//

存入需要輸出的資料的位置

}if(topologicalsort(m, n) == false

)

else

//計算點權

calculate(m, n);

for(int j = 0; j < test_out[i].size();j++)

cout

<}

}}

return0;

}

STM32點亮跑馬燈

day1 庫函式點亮跑馬燈!s1 開啟 apb2的使能 韌體庫stm32f10x rcc.c stm 32f10x.rcc.h 呼叫rcc apb2periphclockcmd 其第乙個引數是io組,第二個是使能狀態 s2 初始化所需操作的埠引數 韌體庫stm32f10x.rcc.c stm 32f...

用RVCT編譯STM32點亮LED

板子用的微芯力科的三合一微控制器開發評估套件,要點亮的兩個led接在pb5,pb6上。先寫main.c了 define rcc apb2enr volatile unsigned long 0x40021018 時鐘使能暫存器 define gpiob crl volatile unsigned l...

STM32點亮LED(熟中新認識)

stm32點亮led步驟案例 準備 1 硬體 stm32開發板,jlink 器 用於燒入程式 2 軟體 a 整合開發環境keil,我用的是keil4 b jlink驅動setup jlink v490.exe 驅動jlink 器 準備妥當,go go go 點亮led燈的步驟如下 1.安裝keil軟...