Here is a program I sent to the Judge:
Code: Select all
#include <iostream>
#include <ios>
#include <cstdio>
#include <iomanip>
const int MAX = 101;
int field[MAX][MAX];
bool used[MAX];
int main(void)
{
while (true)
{
static int count = 0;
int x, y;
std::cin >> x >> y;
if (!x && !y)
return 0;
for (int i = 0; i < MAX; ++i)
{
used[i] = false;
for (int j = 0; j < MAX; ++j)
field[i][j] = 0;
}
while (x || y)
{
used[x] = used[y] = true;
field[x][y] = 1;
std::cin >> x >> y;
}
for (int i = 1; i < MAX; ++i)
for (int j = 1; j < MAX; ++j)
for (int k = 1; k < MAX; ++k)
if (field[j][i] > 0 && field[i][k] > 0)
{
if (field[j][k] == 0 || field[j][k] > field[j][i] + field[i][k] )
field[j][k] = field[j][i] + field[i][k];
}
int res = 0;
for (int i = 1; i < MAX; ++i)
{
if (!used[i])
continue;
for (int j = 1; j < MAX; ++j)
if (i != j && used[j])
res += field[i][j];
}
int num = 0;
for (int i = 1; i < MAX; ++i)
num += used[i];
std::cout << std::fixed;
std::cout << std::setprecision(3);
std::cout << "Case " << ++count << ": average length between pages = " << static_cast<double>(res) / (num*(num - 1)) << " clicks" << std::endl;
/*printf("Case %d: average length between pages = %.3f clicks\n", ++count, static_cast<double>(res) / (num*(num - 1)));*/
}
}
Code: Select all
Here are the compiler error messages:
04850924_24.c:2: ios: No such file or directory