題意:問有n個球員,至少安排多少場練習賽,才能讓所有球員之間都處於過不同的隊伍。並輸出每次練習賽第一隊人數及球員序號。
思路:假設有7個人,1,2,3,4,5,6,7;遞迴二分這個序列直到剩乙個序號為止,記錄每次二分左邊的序號,
第一次:1,2, 3,/4 5 6 7 第一隊: 1 2 3
第二次:1 / 2 3 /4 5 / 6 7 第一隊: 1 4 5
第三次:1 /2 /3 / 4 / 5 / 6 / 7 第一隊: 2,4,6
一開始想到二分了但是不知道用遞迴的話怎麼把每次第一隊的序號輸出,看了下題解才明白可以把遞迴增加乙個x代表遞迴次數,在把序號儲存到相應的陣列中就好了
#include#include#include#include#include#includeusing namespace std;
int d[20][1000];
int num[20];
void solve(int l,int r,int x)
solve(l,mid,x+1);
solve(mid+1,r,x+1);
}int main(){
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
memset(num,0,sizeof(num));
int n;
scanf("%d",&n);
int ans=0;
while(1<
iOS網路監測區分2 3 4G
文章也會同步更新到我的部落格 ppsheep.com 如果有在使用afnetworking朋友知道,在af裡只能區分當前網路是wifi網路還是蜂窩網路在3g 4g出現以後,我們就有乙個新需求,需要區分2g 3g 4g網路了,雖然同為蜂窩網路但是速度可是千差萬別,有時我們會感覺到4g比wifi還快,當...
Codeforces830A 二分 貪心
二分其實很好考慮對吧,時間越多,滿足的越多,如何judge呢,這個仔細想想還是挺有意思的.1.左邊的人拿左邊的鑰匙能在這個時間段滿足,那就滿足,對於整體方案來說是最優的 2.如果左邊的對於某把鑰匙不滿足,之後出現了某個位置鑰匙滿足,那麼之前那把鑰匙一定是在這個人的左邊,那麼進而證明右邊的人也一定不會...
第二週CodeForces 131A題解
輸入一串字母,如果這串字母只有乙個字母,或者以小寫或大寫開頭後面都是大寫字母,那麼大寫全部變成小寫,小寫全部變成大寫,然後輸出,否則不改變直接輸出。就考慮輸入的字母是否需要改變大小寫,對輸入字串進行判斷。可以用乙個變數k進行判斷結果記錄,如果需要改變,就記為1,否則記為0.最後對k判斷來輸出。ac通...