日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

懒猫--按位异或

發布時間:2025/3/16 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 懒猫--按位异或 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
來源:cf yayamao是只很笨的貓。它只認識偶數,它認為成雙成對才是完美的。所以對于yayamao來說偶數是可數的,奇數是不可數的。另外,yayamao它總是想寫亂七八糟的問題,可是自己又很笨,不會做。這不,這只傻貓又出了道亂七八糟的題目,只能請教你們來做做嘍。yayamao面前有N個食物,每一個食物都有一種代號V。現在yayamao要開始整理這么多吃的東東了,就是說yayamao想要統計同一種食物一共有多少個。同時yayamao被告知這N個食物中僅有兩種食物是不可數的。yayamao的目的很簡單,能不能幫他找出這兩種不可數的食物?很簡單吧?是不是認為yayamao很笨啊?這么簡單都不會,還等什么呢?Kill it in seconds...

Input

第一行一個T(1<=T<=10),代表有T組測試數據。每組數據的第一行是一個N(N<=10^6),代表yayamao面前有N個食物。接下來的一行有N個整數,第i個整數代表第i個食物的種類代號V[i]?(0<=V[i]<2^64)

Output

每組數據輸出兩個數A和B,A<B, 表示A,B兩種食物是不可數的。A,B中間隔一個空格,行末要換行。

Sample Input

2 10 1 1 1 2 2 2 3 3 4 4 20 0 1 0 1 2 3 4 2 3 4 65535 65535 65535 789456123 789456123 789456123 10 10 10 10

Sample Output

1 2 65535 789456123 #include<stdio.h> #include<algorithm> using namespace std; __int64 a[1000005]; int main() {int n,m,i;__int64 s,t,k,p;scanf("%d",&n);while(n--){scanf("%d",&m);s=0;for(i=0;i<m;i++){scanf("%I64d",&a[i]);s^=a[i];}t=s;k=t;int j=-1;while(k){int p=k%2;j++;if(p==1) break;k/=2;}for(i=0;i<m;i++){if(a[i]>>j&1)s^=a[i];}t^=s;printf("%I64d %I64d\n",min(t,s),max(t,s));} }

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的懒猫--按位异或的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。