Codeforces 478B 6thweek contest_B
生活随笔
收集整理的這篇文章主要介紹了
Codeforces 478B 6thweek contest_B
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Random teams
題意:
有n個選手和m個隊伍,讓你分配,條件是每個隊伍至少要有1個選手。分配完之后,每隊伍里2個人可以組成一組,求分配完之后最多的組數和最少的組數
分析:
1.?? 最多的情況就是,先每個隊伍分一個人,然后把剩下的全部給到一個隊伍里,就是最多的情況??? 例如:n=10,m=3??????? 1 1 8
2、 最少的情況就是,每隊分n/m個人,然后剩下的再均分給每隊。?????????????例如: 3?? 3??? 3+1
代碼:
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<string> 5 using namespace std; 6 //const int maxn=1000000000; 7 //long long a[maxn][maxn]; 8 9 int main() 10 { 11 long long n,m,Min,Max,ave,yu; 12 scanf("%lld%lld",&n,&m); 13 ave=n/m; //平均分給每隊的人數 14 yu=n%m; //余數 15 if(yu==0) 16 { 17 Min=m*(ave*(ave-1))/2;//恰好均分給m個隊的時候最小個數=m*(ave個人中選2個人的組合) 18 Max=(n-m+1)*(n-m)/2; //最多個數max=(n-m+1個人選2個人的組合數) 19 } 20 else 21 { 22 Min=(m-yu)*(ave*(ave-1))/2+yu*((ave+1)*ave)/2; 23 Max=0+(n-m+1)*(n-m)/2; 24 } 25 printf("%I64d %I64d\n",Min,Max); 26 return 0; 27 28 } View Code
?
轉載于:https://www.cnblogs.com/x512149882/p/4750662.html
總結
以上是生活随笔為你收集整理的Codeforces 478B 6thweek contest_B的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 已婚女梦到老板啥意思
- 下一篇: Eclipse的maven插件最新地址