洛谷 P1469 找筷子
題目描述
經(jīng)過一段時間的緊張籌備,電腦小組的“RP餐廳”終于開業(yè)了,這天,經(jīng)理LXC接到了一個定餐大單,可把大家樂壞了!員工們齊心協(xié)力按要求準(zhǔn)備好了套餐正準(zhǔn)備派送時,突然碰到一個棘手的問題,筷子!CX小朋友找出了餐廳中所有的筷子,但遺憾的是這些筷子長短不一,而我們都知道筷子需要長度一樣的才能組成一雙,更麻煩的是CX找出來的這些筷子數(shù)量為奇數(shù),但是巧合的是,這些筷子中只有一只筷子是落單的,其余都成雙,善良的你,可以幫CX找出這只落單的筷子的長度嗎?
輸入輸出格式
輸入格式:
?
第一行讀入一個數(shù)N,它代表CX找到的筷子的根數(shù)。
第二行是N個用空格隔開的數(shù),代表筷子的長度。
?
輸出格式:
?
一行,落單的筷子的長度。
?
輸入輸出樣例
輸入樣例#1:9 2 2 1 3 3 3 2 3 1 輸出樣例#1: 2
說明
對于80%的數(shù)據(jù),N<=100000;
對于100%的數(shù)據(jù),N<=10000000。
吐槽
今天出高考成績,我甚至保底的成績都沒達(dá)到……不說了……做道入門題緩和一下心情。
解題思路
看到這題的第一想法,快排,然后兩個兩個地往后推,復(fù)雜度$O(NlogN)$,炸了(雖然數(shù)據(jù)水可以過)。第二個想法,桶排,然后掃一遍,找出奇數(shù),但是不知道最長的筷子有多長啊,emmmm,離散化吧,復(fù)雜度$O(NlogN)$,又炸了(雖然數(shù)據(jù)水,也可以過)。然后……居然就這樣沒思路了。看題解,學(xué)習(xí)到一個以前知道后來忘了的東西——a^a=0,0^a=a(^異或,即Xor)。于是把所有長度異或起來,最后結(jié)果就是答案了。
源代碼
1 #include<stdio.h> 2 3 int main() 4 { 5 int ans=0,n; 6 scanf("%d",&n); 7 for(int i=1,j;i<=n;i++) 8 { 9 scanf("%d",&j); 10 ans^=j; 11 } 12 printf("%d",ans); 13 return 0; 14 }?
總結(jié)
以上是生活随笔為你收集整理的洛谷 P1469 找筷子的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python过滤敏感词汇_Python过
- 下一篇: 视图添加字段_使用ExploreByTo