結果
問題 |
No.1041 直線大学
|
ユーザー |
![]() |
提出日時 | 2020-05-01 21:38:49 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 899 bytes |
コンパイル時間 | 1,047 ms |
コンパイル使用メモリ | 76,444 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-25 00:40:53 |
合計ジャッジ時間 | 2,425 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 35 WA * 2 |
ソースコード
#include <iostream> #include <vector> #include <algorithm> #include <queue> #include <cmath> using namespace std; using ll=long long; const int INF=1e9; typedef pair<int,int> P; int main() { int n; cin>>n; int x[n],y[n]; for(int i=0;i<n;i++) cin>>x[i]>>y[i]; int an=0; for(int i=0;i<n-1;i++) { for(int j=i+1;j<n;j++) { int s = x[i] - x[j]; int t = y[i] - y[j]; bool os=s<0, ot=t<0; if (os) s*=-1; if (ot) t*=-1; int sm = 0; for(int k=0;k<n;k++) { int dx = x[k] - x[i], dy = y[k] - y[i]; if (os) dx*=-1; if (ot) dy*=-1; if (s == 0) { if (x[i] == x[k] && dy % t == 0) sm++; } else if (t == 0) { if (y[i] == y[k] && dx % s == 0) sm++; } else { if (dy / t == dx / s && dy % t == 0 && dx % s == 0) sm++; } } an = max(an, sm); } } cout<<an<<endl; }