Pagini recente »
Istoria paginii utilizator/silentsword
|
Cod sursă (job #187459)
|
Cod sursă (job #816373)
Cod sursă (job
#816373)
#include <fstream>
using namespace std;
ifstream cin ("infasuratoareconvexa.in");
ofstream cout ("infasuratoareconvexa.out");
struct coord{
int x;
int y;
};
coord v[100001];
int main()
{
int n, i, j, min = 1000000001, minx = 1000000001, xo = 0, yo = 0, aux;
float tg1, tg2;
cin >> n;
for (i = 1;i <= n;i++)
{
cin >> v[i].x >> v[i].y;
if (v[i].y < min)
{
min = v[i].y;
minx = v[i].x;
}
else if (v[i].y == min)
{
if (minx > v[i].x)
{
min = v[i].y;
minx = v[i].x;
}
}
}
yo = min;
xo = minx;
for (i = 1;i < n;i++)
{
for (j = i + 1;j <= n;j++)
{
tg1 = (v[i].y - min + 0.0) / (v[i].x - minx);
tg2 = (v[j].y - min + 0.0) / (v[j].x - minx);
if (tg1 > tg2)
{
aux = v[i].x;
v[i].x = v[j].x;
v[j].x = aux;
aux = v[i].y;
v[i].y = v[j].y;
v[j].y = aux;
}
}
}
for (i = 1;i <= n;i++)
{
cout << v[i].x << " " << v[i].y << endl;
}
return 0;
}