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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JZOJ 5376. 【NOIP2017提高A组模拟9.19】Candy

發(fā)布時間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JZOJ 5376. 【NOIP2017提高A组模拟9.19】Candy 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Description

Input

Output

Sample Input

2
2 2 2
4 6 8

Sample Output

-1
1

Data Constraint

Solution

  • 顯然,這三個數(shù)在變換中只會越來越接近彼此(即差值越來越小)。

  • 那么設(shè)開始時三個數(shù)分別為 a,b,c(a<b<c) ,那么差值為:x=b?a,y=c?b

  • 當(dāng) xy 其中一個為奇數(shù),說明 a,b,c 中出現(xiàn)了奇數(shù),則退出循環(huán)。

  • 由于差值的變化都是每次除以 2 ,所以每次將 x,y 都除以 2 ,直到有奇數(shù)。

  • 這樣每有一個 2 因子,則可以“分享”一次,且最多不會超過 logN 次。

Code

#include<cstdio> #include<algorithm> using namespace std; inline long long read() {long long X=0,w=1; char ch=0;while(ch<'0' || ch>'9') {if(ch=='-') w=-1;ch=getchar();}while(ch>='0' && ch<='9') X=(X<<3)+(X<<1)+ch-'0',ch=getchar();return X*w; } int main() {int T=read();while(T--){long long a=read(),b=read(),c=read(),ans=0;if(a==b && b==c){printf("-1\n");continue;}if(a&1){printf("0\n");continue;}if(a>b) swap(a,b);if(a>c) swap(a,c);if(b>c) swap(b,c);long long x=b-a,y=c-b;for(int i=0;i<65;i++){if(x&1 || y&1){printf("%d\n",i);break;}x>>=1;y>>=1;}}return 0; } 與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的JZOJ 5376. 【NOIP2017提高A组模拟9.19】Candy的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。