⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zp1363.cpp

📁 浙江大学acm在线判题器代码集。 本人在浙大acm判题器上的所有代码(心血) acm.zju.edu.cn acm/icpc acm大学生程序设计竞赛 练习网站
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
#include <iostream>
#include <iomanip>
using namespace std;

int main(int argc, char* argv[])
{
  int c,n,m,i,j;
  double a[110],b[110];

  cout<<setiosflags(ios::fixed)<<setprecision(3);

  cin>>c;
  while (c)
  {
    cin>>n>>m;
    if((n==0)&&(m==0))
      cout<<1<<endl;
    else
      if((m>c)||(m>n)||((n-m)%2!=0))
        cout<<0<<endl;
    else
    {
      //if (n>c*5)
      //  n=c*5;
      //if ((n-m)%2!=0)
      //  n++;

      if (n>600)
        if (n%2)
          n=601;
        else
          n=600;

        for (i=0;i<=c;i++)
        {
          a[i]=0;
          b[i]=0;
        }
        a[1]=1;
        for (i=2;i<=n;i++)
        {
          b[1]=a[0];
          b[c-1]=a[c];
          for (j=1;j<c;j++)
          {
            b[j-1]+=a[j]*(j*1.0/c);
            b[j+1]+=a[j]*(1-(j*1.0/c));
          }
          for (j=0;j<=c;j++)
          {
            a[j]=b[j];
            b[j]=0;
          }
        }
        cout<<a[m]<<endl;
    }
    cin>>c;
  }
  return 0;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -