在 P2665 中,我打出调试信息发现有两个 1,然后就改成了 i<k,但是提交上去发现还是错了一些点,数据下载下来发现 ak 也没有重复,导致答案少 1。
所以哪位大佬能够告诉我 unique
返回值的问题。
bingfs 的例子下标全是从 0 开始的。
#include <bits/stdc++.h>
using namespace std;
double b[40010], x[40010], y[40010];
int id2;
int main() {
ios::sync_with_stdio(false);
ios_base::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
int n;
cin >> n;
for (int i = 1; i <= n; i++)
cin >> x[i] >> y[i];
for (int i = 1; i <= n; i++) {
for (int j = i + 1; j <= n; j++) {
if (x[j] - x[i] != 0)
b[++id2] = (y[j] - y[i]) / (x[j] - x[i]);
else {
b[++id2] = -1;
}
}
}
sort(b + 1, b + 1 + id2);
int k = unique(b + 1, b + 1 + id2) - b;
for (int i = 1; i < k; i++)
cout << b[i] << endl;
cout << k - 1;
return 0;
}