⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3806562_wa.cc

📁 北大大牛代码 1240道题的原代码 超级权威
💻 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 + -