하느님

신, 하느님 그리고 하느님 Time Limit: 2000 / 1000 ms (Java / Other)   Memory Limit: 65536 / 32768 K (Java / Other) Font Size: ← → Problem Description HDU 2006 '10 ACM contest 시상식 이 성대하게 시작 되 었 습 니 다!분 위 기 를 띄 우기 위해 주최자 들 은 개별적 으로 생 면 을 열 고 상품 이 풍부 한 추첨 행 사 를 열 었 다. 이 행사 의 구체 적 인 요 구 는 다음 과 같다.
우선 파티 에 참석 한 모든 사람들 은 자신의 이름 이 적 힌 쪽 지 를 추첨 함 에 넣 었 다.그리고 모든 쪽지 가 들 어가 면 상자 에서 쪽 지 를 하나씩 가 져 옵 니 다.마지막 으로 받 은 쪽지 에 자신의 이름 이 적 혀 있다 면 "축하합니다. 당 첨 되 었 습 니 다!"
당 첨 자의 상품 은 모두 가 꿈 꾸 던 Twins 사인 사진 이 었 기 때문에 당시 의 분 위 기 를 상상 해 보 세 요!하지만 디자인 을 시도 하 는 모든 코미디 가 비극 으로 끝 나 는 것 처럼 이번 경품 행 사 는 결국 아무 도 당 첨 되 지 않 았 다!
나의 신, 하느님 그리고 하느님, 어떻게 이 럴 수가 있 지?
하지만 흥분 하지 마 세 요. 지금 문제 가 생 겼 어 요. 이런 상황 이 발생 할 확률 을 계산 해 주 시 겠 어 요?
계산 못 해?설마 너 도 비극 으로 끝내 고 싶 니?!
Input 입력 데이터 의 첫 줄 은 하나의 정수 C 로 테스트 인 스 턴 스 의 개 수 를 나타 내 고 그 다음 에 C 줄 데 이 터 를 나타 내 며 줄 마다 정수 n (1 < n < 20) 을 포함 하여 추첨 에 참가 하 는 사람 수 를 나타 낸다.
Output 은 모든 테스트 인 스 턴 스 에 대해 이러한 상황 이 발생 하 는 백분율 을 출력 하 십시오. 모든 인 스 턴 스 의 출력 은 한 줄 을 차지 하고 결 과 는 두 개의 소수 (반올림) 를 유지 합 니 다. 구체 적 인 형식 은 sample output 를 참조 하 십시오.
Sample Input 1 2
Sample Output 50.00%
관련 코드 는 다음 과 같 습 니 다.
#include <iostream>
#include <cstdio>
using namespace std;

int main()
{
    int n,c,i;
    long long f[2][21];
    float per;
    f[0][1]=0;f[0][2]=1;
    scanf("%d",&c);
    while(c--)
    {
        scanf("%d",&n);
        f[1][n] = 1;
        for(i=3;i<=n;i++)
            f[0][i] = (i-1) * ( f[0][i-1] + f[0][i-2] );
        for(i=1;i<=n;i++)
            f[1][n] *= i;
        per = ( f[0][n] * 1.0 ) / f[1][n];
        printf("%0.2f%%
",per*100.0); } return 0; }

좋은 웹페이지 즐겨찾기