藍橋杯 演算法訓練 審美課(c語言版詳細注釋)

2021-10-02 17:41:07 字數 1166 閱讀 2441

藍橋杯試題解答彙總鏈結

資源限制

時間限制:1.0s 記憶體限制:256.0mb

問題描述

《審美的歷程》課上有n位學生,帥老師展示了m幅畫,其中有些是梵谷的作品,另外的都出自五歲小朋友之手。老師請同學們分辨哪些畫的作者是梵谷,但是老師自己並沒有答案,因為這些畫看上去都像是小朋友畫的……老師只想知道,有多少對同學給出的答案完全相反,這樣他就可以用這個資料去揭穿披著皇帝新衣的抽象藝術了(支援帥老師_)。

答案完全相反是指對每一幅畫的判斷都相反。

輸入格式

第一行兩個數n和m,表示學生數和圖畫數;

接下來是乙個n*m的01矩陣a:

如果aij=0,表示學生i覺得第j幅畫是小朋友畫的;

如果aij=1,表示學生i覺得第j幅畫是梵谷畫的。

輸出格式

輸出乙個數ans:表示有多少對同學的答案完全相反。

樣例輸入

3 2

1 00 1

1 0

樣例輸出
2
樣例說明
同學1和同學2的答案完全相反;

同學2和同學3的答案完全相反;

所以答案是2。

資料規模與約定
對於50%的資料:n<=1000;

對於80%的資料:n<=10000;

對於100%的資料:n<=50000,m<=20。

**
#include

#include

intmain()

;//m最大值為20所以b最大要大於20個1對應十進位制的數,陣列b初始化為0

memset

(a,0

,sizeof

(a))

;//對陣列a初始化為0

for(i=

0;i) b[a[i]]++

;//對答案相同的學生進行記數

}int max;

max=(1

<;//把max存為m個1的十進位制數,即對1向左移運算m次

int num=0;

for(i=

0;i)printf

("%d"

,num/2)

;//每對都算重複了一次所以除以2

return0;

}

藍橋杯 演算法訓練 審美課

借鑑出處 自己暴力模擬得了70分 自己太菜 用處 加深對map的理解 問題描述 審美的歷程 課上有n位學生,帥老師展示了m幅畫,其中有些是梵谷的作品,另外的都出自五歲小朋友之手。老師請同學們分辨哪些畫的作者是梵谷,但是 老師自己並沒有答案,因為這些畫看上去都像是小朋友畫的 老師只想知道,有多少對同學...

藍橋杯 演算法訓練 審美課

將每一行的數字用二進位制數儲存在陣列 a i 中,累加 a i 出現的個數儲存在 b a i 中。a i 取反可得到 a i 完全相反的答案。取反可將 a i 與 1 1 1 1 1 1.m個1 異或,答案相同。總數 2即為答案。注意 是按位移中的左位移,向左移動幾位就是乘以2的幾次方。參考自 in...

藍橋杯演算法訓練 審美課

問題描述 審美的歷程 課上有n位學生,帥老師展示了m幅畫,其中有些是梵谷的作品,另外的都出自五歲小朋友之手。老師請同學們分辨哪些畫的作者是梵谷,但是老師自己並沒有答案,因為這些畫看上去都像是小朋友畫的 老師只想知道,有多少對同學給出的答案完全相反,這樣他就可以用這個資料去揭穿披著皇帝新衣的抽象藝術了...