// UVa 270 - Lining Up
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int x[700], y[700];
bool alined(int i, int j, int k) {
int x1 = x[j] - x[i];
int x2 = x[k] - x[i];
int y1 = y[j] - y[i];
int y2 = y[k] - y[i];
return x1 * y2 - x2 * y1 == 0;
}
int main() {
int cases;
cin >> cases;
string line;
getline(cin, line);
getline(cin, line);
for (; cases; cases--) {
int n = 0;
getline(cin, line);
while (line.length() > 0) {
istringstream strm(line);
strm >> x[n] >> y[n];
getline(cin, line);
n++;
}
int sol = 2;
for (int i = 0; i < n - 2; i++) {
for (int j = i + 1; j < n - 1; j++) {
int s = 2;
for (int k = j + 1; k < n; k++)
if (alined(i, j, k))
s++;
if (s > sol)
sol = s;
}
}
cout << sol << endl;
if (cases > 1)
cout << endl;
}
return 0;
}
Sunday, June 7, 2015
UVa 270 - Lining Up
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment