結果

問題 No.2355 Unhappy Back Dance
ユーザー kotatsugame
提出日時 2023-06-16 21:47:13
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 1,426 ms / 6,000 ms
コード長 665 bytes
コンパイル時間 911 ms
コンパイル使用メモリ 78,032 KB
実行使用メモリ 6,948 KB
最終ジャッジ日時 2024-06-24 13:41:23
合計ジャッジ時間 18,858 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 37
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
long gcd(long a,long b)
{
	while(b)
	{
		long t=a%b;
		a=b;
		b=t;
	}
	return a;
}
int N;
long X[1500],Y[1500];
int main()
{
	cin>>N;
	for(int i=0;i<N;i++)cin>>X[i]>>Y[i];
	int cnt=0;
	vector<pair<long,long> >T;
	T.reserve(N);
	for(int i=0;i<N;i++)
	{
		T.clear();
		for(int j=0;j<N;j++)if(i!=j)
		{
			long x=X[i]-X[j],y=Y[i]-Y[j];
			long g=abs(gcd(x,y));
			x/=g;
			y/=g;
			T.push_back(make_pair(x,y));
		}
		sort(T.begin(),T.end());
		bool fn=false;
		for(int j=0;j+1<T.size();j++)
		{
			if(T[j]==T[j+1])
			{
				fn=true;
				break;
			}
		}
		if(fn)cnt++;
	}
	cout<<cnt<<endl;
}
0