程式設計之美初賽B

2021-07-02 03:06:01 字數 2761 閱讀 9240

時間限制:

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

2

簡單模擬題

#include #include #include using namespace std;

int t,n,m,q,x,y,z,type;

int a[102][102];

int ***[102];

int main()

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

printf("case #%d:\n",item);

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

else if(type == 2)

else}}

printf("%d\n",ans);}}

}return 0;

}

時間限制:

2000ms

單點時限:

1000ms

記憶體限制:

256mb

一副不含王的撲克牌由52張牌組成,由紅桃、黑桃、梅花、方塊4組牌組成,每組13張不同的面值。現在給定52張牌中的若干張,請計算將它們排成一列,相鄰的牌面值不同的方案數。

牌的表示方法為xy,其中x為面值,為2、3、4、5、6、7、8、9、t、j、q、k、a中的乙個。y為花色,為s、h、d、c中的乙個。如2s、2h、td等。

第一行為乙個整數t,為資料組數。

之後每組資料佔一行。這一行首先包含乙個整數n,表示給定的牌的張數,接下來n個由空格分隔的字串,每個字串長度為2,表示一張牌。每組資料中的撲克牌各不相同。

對於每組資料輸出一行,形如"case #x: y"。x為資料組數,從1開始。y為可能的方案數,由於答案可能很大,請輸出模264之後的值。

1 ≤ t ≤ 20000

小資料1 ≤ n ≤ 5

大資料1 ≤ n ≤ 52

樣例輸入

5

1 tc

2 tc ts

5 2c ad ac jc jh

4 ac kc qc jc

6 ac ad as jc jd kd

樣例輸出

case #1: 1

case #2: 0

case #3: 48

case #4: 24

case #5: 120

打表列舉

#include #include #include using namespace std;

int t,n;

char a[2];

int num[15];

int cou[5];

void add(char a)

int main()

memset(cou, 0, sizeof(cou));

for(int i = 2; i <= 14; i ++)

int ans;

if(n == 1)

else if(n == 2)

else if(n == 3)

else if(n == 4)

else if(n == 5)

printf("case #%d: %d\n",item, ans);

}return 0;

}

程式設計之美2015初賽A

時間限制 2000ms 單點時限 1000ms 記憶體限制 256mb 兩個數a和 b a第一行為乙個數t,為資料組數。之後每組資料報含兩行。第一行為n,為集合s的大小。第二行為n個整數,表示集合內的數。對於每組資料輸出一行,形如 case x y x為資料編號,從1開始,y為最大的子集的大小。1 ...

微軟程式設計之美 初賽

相似字串對於兩個長度相等的字串,我們定義其距離為對應位置不同的字元數量,同時我們認為距離越近的字串越相似。例如,0123 和 0000 的距離為 3,0123 和 0213 的距離則為 2,所以與 0000 相比,0213 和 0123 最相似。現在給定兩個字串 s1 和 s2,其中 s2 的長度不...

程式設計之美初賽第二場

problem a 一邊輸入邊一邊維護殘留網路,然後跑isap。小資料過了,大資料tle。據說可以bfs預處理 層次網路。可以過。view code include include include include using namespace std const int inf 10000000 ...