📄 toj_2948.cpp
字号:
#include<cstdio>
#include<cstring>
#include<cmath>
#include<cstdlib>
#define MAXNUM 30
struct Bond
{
int misson;
bool ass;
double p;
};
Bond b[ MAXNUM ][ MAXNUM ];
double max[ MAXNUM ] , maxP;
char choosed[ MAXNUM ];
int choice[ MAXNUM ];
int n;
void findMax( int start , double p )
{
int i;
if( p < maxP )
return;
if( start == n ){
if( maxP < p )
maxP = p;
}
else
for( i = 0; i < n; i++ )
if( !b[ i ][ start ].ass ){
b[ i ][ start ].ass = true;
p *= b[ i ][ start ].p;
findMax( start + 1 , p );
b[ i ][ start ].ass = false;
}
}
int main()
{
int i , j;
freopen( "toj_2948.in" , "r" , stdin );
freopen( "toj_2948.out" , "w" , stdout );
while ( scanf( "%d" , &n ) && n != 0 ){
for( i = 0;i < n; i++ )
for( j = 0; j < n; j++ ){
scanf( "%lf" , &b[ i ][ j ].p );
b[ i ][ j ].p /= 100.0;
b[ i ][ j ].ass = false;
b[ i ][ j ].misson = j;
}
maxP = -1;
findMax( 0 , 1.0 );
printf( "%lf\n" , maxP * 100 );
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -