2015程式設計之美挑戰賽 八卦的小冰

2021-07-02 01:50:42 字數 1563 閱讀 7694

第三題:八卦的小冰

時間限制:

2000ms

單點時限:

1000ms

記憶體限制:

256mb

小冰是個八卦的人,最近她對乙個社交**很感興趣。

由於小冰是個機械人,所以當然可以很快地弄清楚這個社交**中使用者的資訊啦。

她發現這個社交**中有n個使用者,使用者和使用者之間可以進行互動。小冰根據使用者之間互動的次數和內容判斷每對使用者之間的親密度。親密度非負,若大於零表示這兩個使用者之間是好友關係。由於這個**是活躍的,所以小冰會不停地更新使用者之間的親密度。

由於隱私保護,小冰無法知道每個使用者的確切性別,但是作為乙隻很聰明的人工智慧,小冰可以通過每個使用者的行為來猜測性別。當然這種猜測是不準確的,小冰有可能會改變對乙個使用者的判斷。

小冰想知道這個社交網路的八卦度是多少。八卦度的定義是社交網路中所有異性好友之間的親密度之和。你能幫助她嗎?

第一行乙個整數t,表示資料組數。接下來是t組資料,每組資料的格式如下:

第一行是三個整數n, m, q,分別表示使用者數、初始的好友對數、運算元。

第二行是n個空格隔開的數,第i個數表示i號使用者的性別,用0或1表示。

接下來的m行,每行三個數x, y, z,代表初始狀態使用者x和使用者y之間的親密度是z。除此之外的使用者之間的親密度初始為0。

接下來是q行,每行是以下三種操作中的一種:

1. 「1 x」:改變使用者x的性別

2. 「2 x y z」:改變使用者x與使用者y之間的親密度為z

3. 「3」:詢問八卦度

對於每組資料首先輸出一行"case #x:",x為測試資料編號。

接下來對於每乙個詢問,輸出一行包含詢問的八卦度。

1 ≤ t ≤ 20

1 ≤ x, y ≤ n

0 ≤ z ≤ 100000

小資料1 ≤ n, m ≤ 100

1 ≤ q ≤ 1000

大資料1 ≤ n, m, q ≤ 100000

樣例輸入

1

3 2 8

0 1 0

1 2 1

1 3 1

31 1

1 23

2 2 3 2

31 2

3

樣例輸出

case #1:12

23

實現**如下:

#include #include #include using namespace std;

#define maxn 110

int ***[maxn],f[maxn][maxn];

int m,n,q;

int main()

{ int t,x,y,z,sum,que;

int t=1;

scanf("%d",&t);

while(t--)

{scanf("%d%d%d",&n,&m,&q);

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

scanf("%d",&***[i]);

memset(f,0,sizeof(f));

for(int i=0;i

2013程式設計之美挑戰賽 集會

description 在一條河的一側,分布著 n 個村莊。這些村莊平日裡需要一些 往來,然而商人們來回走遍每一座村莊是非常辛苦的,於是他們決定每個月都在河邊舉行一次集會,大家都來集會上購買需要的物品。然而在集會地點的選擇上,大家卻有分歧,因為誰都不願意集會的地點離自己村莊非常遠。經過一番激烈的討論...

傳話遊戲 程式設計之美挑戰賽

題目描述 時間限制 2000ms 單點時限 1000ms 記憶體限制 256mb alice和bob還有其他幾位好朋友在一起玩傳話遊戲。這個遊戲是這樣進行的 首先,所有遊戲者按順序站成一排,alice站第一位,bob站最後一位。然後,alice想一句話悄悄告訴第二位遊戲者,第二位遊戲者又悄悄地告訴第...

2013程式設計之美全國挑戰賽

description alice和bob都要向同乙個商人購買鑽石。商人手中有 n 顆鑽石,他會將它們一顆顆地賣給他們,alice和bob通過競價的方式來決定鑽石的歸屬。具體的過程如下 商人首先指定其中乙個人開始 之後兩人輪流 要求是一定要比對方報的 更高。任何時候,如果乙個人不願出價或者出不起價錢...