洛谷1038 神經網路

2021-07-24 08:31:17 字數 1095 閱讀 8950

原題位址

語死早、語體教系列……捋了好幾遍都沒看懂題幹在說啥,試著寫了寫,一提交果然有bug……最後還是看著題解改了個bug才過,倍受打擊……

廣搜

解題思路

簡單的廣搜,用鄰接表存圖,入度為0的(或者c[i]>0的)點是輸入層,先放到佇列裡,c[i]=0的不是輸入層,要預處理一下,把c[i]換成c[i]-u[i](語死早語死早語死早……),然後中規中矩地跑bfs就好了,只要沒入過隊就可以入隊,但只有本身c[i]>0才可以更新下面的點。注意bfs過程中搜到的點更新狀態時不需要再-u[i],根據題意每個點只需要減一次,而前面我們已經預處理過了。輸出層符合c[i]>0的編號放到乙個陣列裡,廣搜結束後進行排序(排的是編號),從小到大輸出。

參考**

#include#include#include#include#includeusing namespace std;

intnum=0,v[105],b[105],c[105],u[105],ch[105],r[105];

bool vis[105];

queueq;

struct mc

e[10005];

void put(int x,int y,int l)

int main()

memset(r,0,sizeof(r));

memset(ch,0,sizeof(ch));

intx,y,z;

for(int i=1;i<=p;i++)

for(int i=1;i<=n;i++)

if (!r[i]) q.push(i);

memset(vis,0,sizeof(vis));

intcnt=0;

while(!q.empty())

for (int i=v[x];i;i=e[i].ne)}}

if(cnt==0)

sort(b+1,b+cnt+1);

for(int i=1;i<=cnt;i++)

cout<

洛谷P1038 神經網路

題目 拓撲排序,難度挺低,但是細節很多。其中乙個注意點 c i 即便是負數,也要進隊,不然有些點入度始終大於0,更新不了 include using namespace std struct kka 103 struct nodee 10003 int n,m,i,j,x,y,z,num,out 1...

洛谷 P1038 神經網路

洛谷 p1038 神經網路 人工神經網路 artificial neural network 是一種新興的具有自我學習能力的計算系統,在模式識別 函式逼近及貸款風險評估等諸多領域有廣泛的應用。對神經網路的研究一直是當今的熱門方向,蘭蘭同學在自學了一本神經網路的入門書籍後,提出了乙個簡化模型,他希望你...

洛谷 P1038 神經網路

人工神經網路 artificial neural networkartificialneuralnetwork 是一種新興的具有自我學習能力的計算系統,在模式識別 函式逼近及貸款風險評估等諸多領域有廣泛的應用。對神經網路的研究一直是當今的熱門方向,蘭蘭同學在自學了一本神經網路的入門書籍後,提出了乙個...