CCF CSP2019 3 訊息傳遞介面

2021-10-08 10:52:45 字數 1493 閱讀 8902

題目**ccf csp

思路分析

我覺得我的思路沒有問題,可是執行n >= 1000時就錯誤了,先記在這裡。

思路:每次讀完乙個**樣例,然後存在乙個string陣列;

進行尋找配對時,如第乙個程序l0r1 s1,第二個程序l1s0 r0,那麼執行的時候,根據l0接受來自l1的訊號,那麼直接將l1的第乙個訊號s0來進行比較,若滿足,就可同時消去這兩個訊號,然後依次進行。如不滿足,那麼將l1中的第乙個訊號又作為新的比較物件,即l1需要傳送到l0,那麼將執行緒l0的訊號與此比較,以此類推。

為了防止有閉圈存在,進行標記。

**解析

#include

#include

#include

using namespace std;

int t, n;

//樣例**數,程序數

string* process;

//程序序號 : 0 ,1,2...

bool ans = false;

bool visited[

10001];

//判斷函式

void

check

(int len)

}//全部為空時

if(flag ==0)

}if(visited[cnt]

)//之前被訪問過,但沒有消釋標記

break

; pre = process[cnt]

.substr(0

,2);

visited[cnt]

= true;

//標記被訪問true

//不存在與之對應執行緒時

if(process[pre[1]

-'0'].

size()

==0)break

;//滿足pre發,下乙個收

if(cnt == process[pre[1]

-'0'].

substr(0

,2)[

1]-'0'

)else

cnt = pre[1]

-'0';}

ans = false;

return;}

intmain()

}}return0;

}

CCF CSP題解 201903 4 訊息傳遞介面

求並行的各個程序,且程序內部順序執行的情況下,會不會出現 死鎖 首先用 n 將每個程序讀入。最後過不了居然是因為 str 開小了 悲喜交加。儲存在 中,並記錄每個程序的指令數 instnum 然後就是模擬。instcmp 記錄每個程序已完成的指令數,instblk 記錄每個程序是否阻塞,numcmp...

2019 3 第十六次CCF CSP認證心得

第一題大致就是求n個整數中位數。是個送分題,但是題目描述如果中位數是分數,則四捨五入後保留小數點後一位。真心沒懂,難道一些整數的中位數不是只會是整數或者x.5兩種情況麼,我應該沒有理解錯中位數和平均數吧。第二題求中綴表示式,題目描述中說所有的乘號用小寫x代替我是後來才知道的。應該只能得30分了。能不...

Android訊息傳遞之元件間傳遞訊息

前言 上篇學習總結了android通過handler訊息機制實現了工作執行緒與ui執行緒之間的通訊,今天來學習一下如何實現元件之間的通訊。本文依然是為學習eventbus做鋪墊,有對比才能進步,今天主要介紹在eventbus出現之前的實現方式,通過intent方式這裡不做介紹。需求場景 方式一 通過...