CSU 1217 奇數個的那個數(異或)

2021-07-04 15:52:22 字數 658 閱讀 5231

time limit: 2 sec  

memory limit: 1 mb

submit: 523  

solved: 120 [

submit][

status][

web board]

給定些數字,這些數中只有乙個數出現了奇數次,找出這個數。

每組資料第一行n表示數字個數,1 <= n <= 2 ^ 18 且 n % 2 == 1。

接下來n行每行乙個32位有符號整數。

出現奇數次那個數,每組資料對應一行。

511

2237

1212

233

3

2

csgrandeur的資料結構習題

#include #include int main(void)

{ int n,b;

while(scanf("%d",&n)!=eof)

{ int ans=0;

for(int i=0;i

解題思路:這題的記憶體特別小,用雜湊也做不了,但這題很特殊,只有乙個數字是奇數個,其他都是偶數個,根據二進位制計算的特點,異或運算能起到特別大的作用。a^a=0,0^a=a,並且^運算有結合性,這樣偶數個數字都會被消除,最後留下個數為奇數的那個數。

**如下:

1217 奇數個的那個數

time limit 2 sec memory limit 128 mb submitted 1276 solved 382 給定些數字,這些數中只有乙個數出現了奇數次,找出這個數。每組資料第一行n表示數字個數,1 n 2 18 且 n 2 1。接下來n行每行乙個32位有符號整數。出現奇數次那個數,...

奇數個的那個數(異或問題)

給定些數字,這些數中只有乙個數出現了奇數次,找出這個數。每組資料第一行n表示數字個數,1 n 2 18 且 n 2 1。接下來n行每行乙個32位有符號整數。出現奇數次那個數,每組資料對應一行。511 2237 1212 2333 2 include include int main printf d...

異或運算及其應用 查詢奇數個數的數字

異或運算功能很強大。用的得當可以提高演算法效率。先說一下異或運算的運算法則 1.a b b a 2.a b c a b c a b c 3.d a b c 可以推出 a d b c 4.a b a b 對於性質1,不多說,顯而易見的。對於性質2和4,這裡最近我發現了乙個重要的應用,就是可以查詢出一組...