TOJ ALPCs 영어 트 레이 닝 오류 정렬

이 문 제 는 사실 고등학교 배열 조합 지식의 응용 이다. 여기에 기록 해 보 자. 비록 매우 간단 하지만.
바로 N 편의 작문 이 있 는데 한 사람 이 한 편 을 가 져 간 후에 자신의 것 을 가 져 갈 수 없고 몇 가지 방법 이 있 는 지 물 어 보 는 것 이다.
전달 공식:  f[i]=(i-1)*(f[i-1]+f[i-2])
간단 한 증명 은 N 개인 을 a, b, c, d 로 설정 하고 N 편의 작문 을 A, B, C, D 로 설정 하 는 것 이다. ,b 도 a 를 가 져 가면 N - 2 명 만 작문 을 가 져 갈 수 있 고 당연히 f (N - 2) 종이 다. a 가 b 를 가 져 가면     b. a 를 안 가 져 왔어요.  N - 1 명 이 카드 를 받 는 것 과 마찬가지 로 당연히 f (N - 1) 종이 다. a 가 꼭 B 를 받 는 것 은 아니다.  B, C, D... (N - 1 개) 중 하나 면 되 기 때문에 f (N - 1) + f (N - 2) 에 N - 1 을 더 타면 됩 니 다. 
코드:
/*
Accepted	3266	C++	0.3K	0'00.00"	1352K	3012216103
*/

#include <iostream>
using namespace std;
int main()
{
    int f[15];
    f[0]=0;f[1]=0;f[2]=1;
    for(int i=3;i<14;i++)
        f[i]=(i-1)*(f[i-1]+f[i-2]);
    int t,n;
    cin>>t;
    while(t--)
    {
        cin>>n;
        cout<<f[n]<<endl;
    }
}

좋은 웹페이지 즐겨찾기