結果

問題 No.2769 Number of Rhombi
コンテスト
ユーザー 👑 tails
提出日時 2024-05-31 22:59:27
言語 cLay
(20250308-1 + boost 1.89.0)
コンパイル:
clayc _filename_
実行:
./a.out
結果
AC  
実行時間 891 ms / 5,000 ms
コード長 535 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 2,168 ms
コンパイル使用メモリ 199,092 KB
実行使用メモリ 81,664 KB
最終ジャッジ日時 2026-05-27 19:48:34
合計ジャッジ時間 26,366 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 32
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

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