2496.txt
来自「北大ACM题目例程 详细的解答过程 程序实现 算法分析」· 文本 代码 · 共 57 行
TXT
57 行
Memory:104K Time:62MS
Language:C++ Result:Accepted
Source
#include <stdio.h>
#include <algorithm>
int e[100][100];
int n;
int p;
int a[10000];
int main()
{
int cas, i, j, l, k, ans;
scanf( "%d", &cas );
for( l=1; l<=cas; l++ )
{
scanf( "%d", &p );
scanf( "%d", &n );
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf( "%d", &e[i][j] );
for(k=0;k<n;k++)
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(e[i][k]>=0 && e[k][j]>=0
&& ( e[i][k] + e[k][j] < e[i][j] || e[i][j] < 0 ) )
e[i][j] = e[i][k] + e[k][j];
k = 0;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if( i != j )
a[k++] = e[i][j];
std::sort( a, a+k );
if( ( k*p ) % 100 == 0 )ans = ( k*p ) / 100-1;
else ans = ( k*p ) / 100 ;
printf( "Scenario #%d:\n", l );
printf( "%d\n\n", a[ans] );
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?