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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

百度之星比赛规则

發布時間:2023/12/2 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 百度之星比赛规则 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為了促進各部門員工的交流,百度舉辦了一場全公司范圍內的“拳皇”(百度內部最流行的格斗游戲)友誼賽,負責組織這場比賽的是百度的超級“拳皇”迷W.Z。W.Z不想用傳統的淘汰賽或者循環賽的方式,而是自己制定了一個比賽規則。

由于一些員工(比如同部門或者相鄰部門員工)平時接觸的機會比較多,為了促進不同部門之間的交流,W.Z希望員工自由分組。不同組之間的每兩個人都會進行一場友誼賽而同一組內的人之間不會打任何比賽。

比如4個人,編號為1~4,如果分為兩個組并且1,2一個組,3,4一個組,那么一共需要打四場比賽:1 vs 3,1 vs 4,2 vs 3,2 vs 4。而如果是1,2,3一組,4單獨一組,那么一共需要打三場比賽: 1 vs 4,2 vs 4,3 vs 4。

很快W.Z意識到,這樣的比賽規則可能會讓比賽的場數非常多。W.Z想知道如果有N個人,通過上面這種比賽規則,總比賽場數有可能為K場嗎?比如3個人,如果只分到一組則不需要比賽,如果分到兩組則需要2場比賽,如果分為三組則需要3場比賽。但是無論怎么分都不可能恰需要1場比賽。

相信作為編程高手的你一定知道該怎么回答這個問題了吧?那么現在請你幫助W.Z吧。

輸入要求:

每行為一組數據,包含兩個數字 N, K(0<N<=500, K>=0)。例:

2 0

2 1

3 1

3 2

?

輸出要求:

對輸入的N,K 如果N個員工通過一定的分組方式可以使比賽場數恰好為K,則輸出"YES",否則輸出"NO"(請全部使用大寫字母),每組數據占一行。例:

YES

YES

NO

YES

?

?

代碼如下:

1 #include<stdio.h> 2 #include<conio.h> 3 int result[500]; 4 int status[1000]={0}; 5 int sum(int *a, int len) 6 { 7 int sum = 0, i, j; 8 for (i = 0; i < len; ++i) { 9 for(j = i + 1; j < len; ++j) { 10 sum += a[i] * a[j]; 11 } 12 } 13 return sum; 14 } 15 void split(int n, int k, int c) 16 { 17 if (k == 0) return; 18 if (n == k) 19 {
21 result[c]=k; 22 status[sum(result,c+1)]=1; 23 if (k == 1)return; 24 } 25 int i = k; 26 for (;i >= 1; i--) 27 { 28 result[c] = i; 29 split(n - i, i < n - i ? i : n - i, c + 1); 30 } 31 } 32 33 int main() 34 { 35 int n,k; 36 scanf("%d %d",&n,&k); 37 if(n<1||n>500||k<0) 38 return 0; 39 split(n, n - 1, 0); 40 if(!k||status[k])printf("YES!\n"); 41 else printf("NO!\n"); 42 getch(); 43 return 0; 44 }

?

轉載于:https://www.cnblogs.com/dzqdzq/archive/2013/04/20/3032105.html

總結

以上是生活随笔為你收集整理的百度之星比赛规则的全部內容,希望文章能夠幫你解決所遇到的問題。

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