基礎程式設計 HDOJ2048神 上帝以及老天爺

2021-07-23 19:58:01 字數 785 閱讀 3991

這個題目沒有想出來,最後不得不看了別人的結題報告。知道了這是乙個關於錯排的題目,有根據別人的思路,推到了一下公式,才開始自己實現**。反正我一見到排列組合的題目腦袋就會一團漿糊,可能高中時候就沒有學好。

假設前n-1個都已經是錯排了,總共有f(n-1)種。那麼,把第n個放到這個錯排中,會有兩種情況:

第一:與n的位置交換。假設將第n個元素放在某一位置m,m位置的元素放在n的位置。這樣的方法有(n-1)*f(n-1)種

第二:與n交換後的m位置的元素不放在n的位置。這樣的方法有(n-1)*f(n-2)中

所以,總共有(n-1)*(f(n-1)*f(n-2))種方法。

實現**如下:

#includedouble a[100] = ;

double f(int n)

else if(n == 2)

else

}}long long b(int n)

int main(void)

}return 0;

}

這是從網上看到的簡單**:

#include int main()

; double b[21]=;

for(i=3;i<=21;i++)

scanf("%d",&n);

while(n--)

return 0;

}

HDOJ 2048 神 上帝以及老天爺

題目敘述 hdu 2006 10 acm contest的頒獎晚會隆重開始了!為了活躍氣氛,組織者舉行了乙個別開生面 獎品豐厚的 活動,這個活動的具體要求是這樣的 首先,所有參加晚會的人員都將一張寫有自己名字的字條放入 箱中 然後,待所有字條加入完畢,每人從箱中取乙個字條 最後,如果取得的字條上寫的...

hdoj2048 神 上帝以及老天爺

include int main for int i 2 i n i ans 100.0 a n b n printf 2f n ans return 0 已ac a 2 a 3 很容易就能推出來。然後a 4 之後。就像是在編號1 n的盒子中放編號1 n的小球並且小球的編號不能與盒子的編號相等,每增...

HDOJ 2048 神 上帝及老天爺(錯排)

hdu 2006 10 acm contest的頒獎晚會隆重開始了!為了活躍氣氛,組織者舉行了乙個別開生面 獎品豐厚的 活動,這個活動的具體要求是這樣的 首先,所有參加晚會的人員都將一張寫有自己名字的字條放入 箱中 然後,待所有字條加入完畢,每人從箱中取乙個字條 最後,如果取得的字條上寫的就是自己的...