📄 3806562_wa.cc
字号:
#include <stdio.h>
#include <algorithm>
using namespace std;
struct node
{
int x1, y1;
int x2, y2;
bool operator < (const node &t) const
{
return (y2 - y1) * (t.x2 - t.x1) < (t.y2 - t.y1) * (x2 - x1);
}
bool operator == (const node &t) const
{
return (y2 - y1) * (t.x2 - t.x1) == (t.y2 - t.y1) * (x2 - x1);
}
}seg[200 * 100];
int x[200], y[200];
int main()
{
int n, i, j, c;
scanf("%d", &n);
for (i = 0; i < n; i++)
{
scanf("%d%d", &x[i], &y[i]);
}
c = 0;
for (i = 0; i < n; i++)
{
for (j = i + 1; j < n; j++)
{
seg[c].x1 = x[i];seg[c].x2 = x[j];
seg[c].y1 = y[i];seg[c].y2 = y[j];
if (seg[c].x1 < seg[c].x2)
{
swap(seg[c].x1, seg[c].x2);
swap(seg[c].y1, seg[c].y2);
}
c++;
}
}
sort(seg, seg + c);
int ans = 0;
for (i = 0; i < c; i++)
{
printf("%lf\n", (seg[i].y2 - seg[i].y1) * 1.0 / (seg[i].x2 - seg[i].x1));
}
for (i = 0; i < c; i++)
{
j = i + 1;
while (j < c && seg[j] == seg[i])
{
j++;
}
i = j - 1;
ans++;
}
printf("%d\n", ans);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -