結果
| 問題 |
No.1265 Balloon Survival
|
| コンテスト | |
| ユーザー |
naribow
|
| 提出日時 | 2020-10-23 23:39:29 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,928 bytes |
| コンパイル時間 | 2,599 ms |
| コンパイル使用メモリ | 206,600 KB |
| 最終ジャッジ日時 | 2025-01-15 14:16:41 |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 WA * 3 |
| other | WA * 32 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const double pi = 3.141592653589793;
typedef unsigned long long ull;
typedef long double ldouble;
const ll INF = 1e18;
#define rep(i, n) for (ll i = 0; i < (ll)(n); i++)
#define rep2(i, s, n) for (ll i = (s); i < (ll)(n); i++)
template <class T>
inline bool chmax(T& a, T b) {
if (a < b) {
a = b;
return 1;
}
return 0;
}
template <class T>
inline bool chmin(T& a, T b) {
if (a > b) {
a = b;
return 1;
}
return 0;
}
typedef pair<int, int> P;
typedef pair<ll, ll> PL;
ll dis (pair<ll, ll> a, pair<ll, ll> b) {
return (ll)(a.first - b.first) * (ll)(a.first - b.first) + (ll)(a.second - b.second) * (ll)(a.second - b.second);
}
int main() {
ll n;
cin >> n;
vector<P> xy(n);
rep(i, n) {
cin >> xy[i].first >> xy[i].second;
}
vector<pair<int, pair<int , int> > > kn;
vector<bool> used(n, false);
rep2(i, 0, n-1) {
ll this_dis = INF, ind = -1;
rep2(j, i+1, n) {
if(i == j) continue;
ll dis_y = dis(xy[i], xy[j]);
pair<int, pair<int, int> > k;
k.first = floor(sqrtl(dis_y) + 0.999999999);
k.second.first = i;
k.second.second = j;
kn.emplace_back(k);
}
}
sort(kn.begin(), kn.end());
int ans = 0;
rep(i, kn.size()) {
int a = kn[i].second.first;
int b = kn[i].second.second;
if(used[a] == false && used[b] == false ) {
cout << kn[i].first << " a:" << a << " b:" << b << endl;
if(a == 0) {
used[b] = true;
ans++;
}
else if(b == 0) {
used[a] = true;
ans++;
}
else {
used[a] = true;
used[b] = true;
}
}
}
cout << ans << endl;
}
naribow