Submission #10467423


Source Code Expand

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

#define ll long long
#define nl '\n'
#define deb(x) cerr<<#x" = "<<x<<nl
#define in() ( { int a ; scanf("%d", &a); a; } )
//#define double long double
const int N = 70;
const int mod = 1e9 + 7;
const double eps = 1e-9;

inline ll sqr(int x){return x*x;}

struct PT
{
    int x,y;
    PT() {}
};
ll dist(PT a,PT b)
{
    return sqr(a.x-b.x)+sqr(a.y-b.y);
}
//5 - outside and do not intersect
//4 - intersect outside in one point
//3 - intersect in 2 points
//2 - intersect inside in one point
//1 - inside and do not intersect
int circle_circle_relation(PT a, int ci, PT b, int cj, double x)
{
    ll d=dist(a,b) * ci * ci * cj * cj;
    double q = x * (ci + cj);
    q *= q;
    if(fabs(d * 1.0 - q) < eps) return 1;
    if(d * 1.0 > q) return 5;
    return 1;
}
///cliques are subsets of vertices, all adjacent to each other, also called complete subgraphs
///maximum clique is a clique with the largest possible number of vertices

///Complexity (3^(n/3)) , where n is the number of nodes
int g[70][70];
///for each i every nodes j!=i must need to be set 1 if
///there is any edge between i and j
///1-indexed
int res;
long long edges[70];
void BronKerbosch(int n, long long R, long long P, long long X) {
    if (P == 0LL && X == 0LL) {
        int t = 0;
        for (int i = 0; i < n; i++) if ((1ll << i) & R) t ++;
        res = max(res, t);
        return;
    }
    long long u = 0;
    while (!((1ll<<u) & (P|X))) u ++;
    for (int v = 0; v < n; v++) {
        if (((1ll << v) & P) && !((1ll << v) & edges[u])) {
            BronKerbosch(n, R | (1ll << v), P & edges[v], X & edges[v]);
            P -= (1ll << v);
            X |= (1ll << v);
        }
    }
}

int max_clique (int n) {
    res = 0;
    for(int i = 0; i <= n; i++) edges[i] = 0;
    for (int i = 1; i <= n; i++) {
        edges[i] = 0;
        for (int j = 1; j <= n; j++)  if (g[i][j]) edges[i - 1] |= ( 1ll << (j - 1) );
    }
    BronKerbosch(n, 0, (1ll << n) - 1, 0);
    return res;
}
int c[N];
PT p[N];
int yo(double x, int n)
{
    for(int i = 0; i <= n; i++) for(int j = 0; j <= n; j++) g[i][j] = 0;
    for(int i = 1; i <= n; i++) for(int j = 1; j <= n; j++){
        if(circle_circle_relation(p[i], c[i], p[j], c[j], x) != 5) g[i][j] = 1;
    }
    for(int i =1 ; i <= n; i++) g[i][i] = 0;
    return max_clique(n);
}
int32_t main()
{
    int n, k; cin >> n >> k;
    if(k == 1){
            cout << fixed << setprecision(10) << 0.0 << nl;
    }
    for(int i = 1; i <= n; i++){
        int a, b, x;  cin >> a >> b >> x; p[i]. x= a, p[i]. y = b; c[i] = x;
    }
    auto it = 5000;
    double l = 0.0, r = 1.0e9;
    while(it--){
        double mid = (l + r) * 0.5;
        if(yo(mid, n) >= k) r = mid;
        else l = mid;
    }
    cout << fixed << setprecision(10) << l << nl;
    return 0;
}

Submission Info

Submission Time
Task F - Yakiniku Optimization Problem
User YouKn0wWho
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2936 Byte
Status WA
Exec Time 1887 ms
Memory 384 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 600
Status
AC × 2
AC × 22
WA × 45
Set Name Test Cases
Sample 00-sample-00, 00-sample-01
All 00-sample-00, 00-sample-01, 01-handmade-00, 01-handmade-01, 01-handmade-02, 01-handmade-03, 01-handmade-04, 01-handmade-05, 01-handmade-06, 01-handmade-07, 01-handmade-08, 01-handmade-09, 01-handmade-10, 01-handmade-11, 02-random-00, 02-random-01, 02-random-02, 02-random-03, 02-random-04, 02-random-05, 02-random-06, 02-random-07, 02-random-08, 02-random-09, 02-random-10, 02-random-11, 02-random-12, 02-random-13, 02-random-14, 02-random-15, 02-random-16, 02-random-17, 02-random-18, 02-random-19, 02-random-20, 02-random-21, 02-random-22, 02-random-23, 02-random-24, 02-random-25, 02-random-26, 02-random-27, 02-random-28, 02-random-29, 02-random-30, 02-random-31, 02-random-32, 02-random-33, 02-random-34, 02-random-35, 02-random-36, 02-random-37, 02-random-38, 02-random-39, 02-random-40, 02-random-41, 02-random-42, 02-random-43, 02-random-44, 02-random-45, 02-random-46, 02-random-47, 02-random-48, 02-random-49, 03-killer-00, 03-killer-01, 03-killer-02
Case Name Status Exec Time Memory
00-sample-00 AC 2 ms 256 KiB
00-sample-01 AC 7 ms 384 KiB
01-handmade-00 WA 1 ms 256 KiB
01-handmade-01 AC 1 ms 256 KiB
01-handmade-02 WA 151 ms 256 KiB
01-handmade-03 WA 155 ms 256 KiB
01-handmade-04 AC 207 ms 256 KiB
01-handmade-05 WA 1873 ms 256 KiB
01-handmade-06 WA 268 ms 256 KiB
01-handmade-07 WA 419 ms 256 KiB
01-handmade-08 AC 155 ms 256 KiB
01-handmade-09 AC 180 ms 256 KiB
01-handmade-10 AC 1 ms 256 KiB
01-handmade-11 AC 6 ms 256 KiB
02-random-00 AC 143 ms 256 KiB
02-random-01 WA 1634 ms 256 KiB
02-random-02 AC 286 ms 256 KiB
02-random-03 WA 242 ms 256 KiB
02-random-04 WA 1397 ms 256 KiB
02-random-05 AC 133 ms 256 KiB
02-random-06 WA 744 ms 256 KiB
02-random-07 WA 435 ms 256 KiB
02-random-08 WA 1154 ms 256 KiB
02-random-09 WA 414 ms 256 KiB
02-random-10 WA 191 ms 256 KiB
02-random-11 WA 811 ms 256 KiB
02-random-12 WA 1027 ms 256 KiB
02-random-13 AC 472 ms 256 KiB
02-random-14 WA 1416 ms 256 KiB
02-random-15 WA 563 ms 256 KiB
02-random-16 WA 304 ms 256 KiB
02-random-17 AC 172 ms 256 KiB
02-random-18 WA 1271 ms 256 KiB
02-random-19 WA 1159 ms 256 KiB
02-random-20 WA 710 ms 256 KiB
02-random-21 WA 1193 ms 384 KiB
02-random-22 WA 200 ms 256 KiB
02-random-23 WA 893 ms 256 KiB
02-random-24 AC 450 ms 256 KiB
02-random-25 WA 312 ms 256 KiB
02-random-26 WA 577 ms 256 KiB
02-random-27 WA 457 ms 256 KiB
02-random-28 AC 184 ms 256 KiB
02-random-29 WA 930 ms 256 KiB
02-random-30 WA 610 ms 256 KiB
02-random-31 WA 170 ms 256 KiB
02-random-32 WA 266 ms 256 KiB
02-random-33 WA 855 ms 256 KiB
02-random-34 AC 121 ms 256 KiB
02-random-35 AC 133 ms 256 KiB
02-random-36 WA 165 ms 256 KiB
02-random-37 WA 190 ms 256 KiB
02-random-38 AC 130 ms 256 KiB
02-random-39 WA 1887 ms 256 KiB
02-random-40 WA 636 ms 256 KiB
02-random-41 WA 656 ms 384 KiB
02-random-42 WA 1709 ms 256 KiB
02-random-43 WA 178 ms 256 KiB
02-random-44 WA 1084 ms 256 KiB
02-random-45 WA 886 ms 256 KiB
02-random-46 WA 902 ms 256 KiB
02-random-47 AC 216 ms 256 KiB
02-random-48 WA 1221 ms 256 KiB
02-random-49 WA 154 ms 256 KiB
03-killer-00 AC 130 ms 256 KiB
03-killer-01 AC 130 ms 256 KiB
03-killer-02 AC 106 ms 256 KiB