結果

問題 No.2353 Guardian Dogs in Spring
ユーザー shobonvip
提出日時 2023-06-16 21:57:35
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
TLE  
実行時間 -
コード長 797 bytes
コンパイル時間 4,423 ms
コンパイル使用メモリ 260,516 KB
最終ジャッジ日時 2025-02-14 05:36:43
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 17 WA * 3 TLE * 19 MLE * 1
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<bits/stdc++.h>
#include<atcoder/all>
using namespace std;
using namespace atcoder;

typedef modint998244353 mint;
typedef long long ll;

int main(){
	int n; cin >> n;
	vector<int> x(n), y(n);
	for (int i=0; i<n; i++){
		cin >> x[i] >> y[i];
	}

	cout << n/2 << endl;
	vector<tuple<int,int,int>> pq;
	for (int i=0; i<n; i++){
		for (int j=i+1; j<n; j++){
			int dist = (x[i] - x[j]) * (x[i] - x[j]) + (y[i] - y[j]) * (y[i] - y[j]);
			pq.push_back(tuple(dist, i, j));
		}
	}

	sort(pq.begin(), pq.end());

	vector<bool> seen(n);
	int cnt = 0;
	for (int piv=0; piv<(int)pq.size(); piv++){
		auto [r, i, j] = pq[piv];
		if (seen[i] || seen[j]) continue;
		cout << i+1 << " " << j+1 << endl;
		seen[i] = true;
		seen[j] = true;
		cnt++;
		if (cnt == n / 2) break;
	}
	assert(cnt == n / 2);
}
0