Cod sursa(job #3036746)
Utilizator | Marciuc Andrei andrei_marciuc | Data | 24 martie 2023 22:07:00 |
---|---|---|---|
Problema | Dezastru | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.56 kb |
#include <fstream>
using namespace std;
ifstream cin( "dezastru.in" );
ofstream cout( "dezastru.out" );
double dp[ 40 ][ 40 ];
double s, x;
int n, t;
int main()
{
cin >> n >> t;
dp[ 0 ][ 0 ] = 1;
for( int i = 1; i <= n; i++ )
for( int j = dp[ i ][ 0 ] = 1; j <= i; j++ ) {
cin >> x;
dp[ i ][ j ] = dp[ i - 1 ][ j ] + x * dp[ i - 1 ][ j - 1 ];
}
s = dp[ n ][ t ];
for( int i = t + 1; i <= n; ++i )
s /= i;
for( int i = 1; i <= n - t; i++ )
s *= i;
cout << s << '\n';
return 0;
}