藍橋杯練習 審美問題(異或)

2021-09-12 07:51:28 字數 985 閱讀 8570

1.問題描述

問題描述

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

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

輸入格式

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

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

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

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

輸出格式

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

樣例輸入

3 21 0

0 11 0

樣例輸出

樣例說明

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

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

所以答案是2。

資料規模和約定

對於50%的資料:n<=1000;

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

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

2.問題分析

就是要比較兩行的數是否相反,在借鑑網上的解答之後,發現可以將每位學生的答案按照二進位制儲存成十進位制,然後用乙個陣列ans統計答案相同的人的個數(陣列的下標為答案),然後再遍歷每個學生的答案,通過異或來進行按位取反,從而跟ans陣列中的答案(也就是下標)找到答案相反的人,注意因為是求對數,sum要處以2

3.**

#include using namespace std;

int main()

ans[a[i]]++;//記錄每個答案的學生的人數

}int r = (1<4.問題

發現ans陣列的大小不能理解,之前設定的50000太小,導致評測跑不過。

藍橋杯 異或變換

小藍有乙個01串s s 1s2s 3.sn s s 1s 2s 3.s n s s1 s 2 s3 sn 以後每個時刻,小藍要對這個01串進行一次變換。每次變換的規則相同。對於01串s s 1s2s 3.sn s s 1s 2s 3.s n s s1 s 2 s3 sn 變換後的01串s s1 s ...

藍橋杯 審美課

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

交換瓶子 藍橋杯 異或

交換瓶子 有n個瓶子,編號 1 n,放在架子上。比如有5個瓶子 2 1 3 5 4 要求每次拿起2個瓶子,交換它們的位置。經過若干次後,使得瓶子的序號為 1 2 3 4 5 對於這麼簡單的情況,顯然,至少需要交換2次就可以復位。如果瓶子更多呢?你可以通過程式設計來解決。輸入格式為兩行 第一行 乙個正...