注意將題抽象成乙個圖的形式,同時注意w[maxn]的使用來記錄通過每個器件時的結果
//每通過乙個器件維護依次w[maxn],用來跟新所有器件的狀態,最後得到乙個總狀態,然後根據相應的要求輸出即可。
#include usingnamespace
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軟...