結果

問題 No.2769 Number of Rhombi
ユーザー tails
提出日時 2024-05-31 22:59:27
言語 cLay
(20241019-1)
結果
AC  
実行時間 1,139 ms / 5,000 ms
コード長 535 bytes
コンパイル時間 2,825 ms
コンパイル使用メモリ 185,028 KB
実行使用メモリ 81,536 KB
最終ジャッジ日時 2024-12-21 01:11:15
合計ジャッジ時間 34,947 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 32
権限があれば一括ダウンロードができます

ソースコード

diff #

map<pair<pair<ll,ll>,pair<ll,ll>>,ll>m;
ll@n,@(x,y)[n],z=0;
rep(i,n){
	rep(j,i){
		ll cx=x[i]+x[j];
		ll cy=y[i]+y[j];
		ll dx=x[i]-x[j];
		ll dy=y[i]-y[j];
		if(dx==0){
			m[{{cx,cy},{0,1}}]+=1;
			z+=m[{{cx,cy},{1,0}}];
		}else if(dy==0){
			m[{{cx,cy},{1,0}}]+=1;
			z+=m[{{cx,cy},{0,1}}];
		}else{
			ll g=gcd(abs(dx),abs(dy));
			dx/=g;
			dy/=g;
			if(dy<0){
				dx=-dx;
				dy=-dy;
			}
			m[{{cx,cy},{dx,dy}}]+=1;
			ll ex=-dy;
			ll ey=dx;
			if(ey<0){
				ex=-ex;
				ey=-ey;
			}
			z+=m[{{cx,cy},{ex,ey}}];
		}
	}
}
wt(z);
0