267 2021. 04. 07 18:49:09 pgergo03 2015. szeptember cpp11 Elfogadva 2ms 1896 KiB
#include <iostream>
#include <bits/stdc++.h>

using namespace std;

typedef struct
{
    double x,y,r;
    vector<int> s;
    bool t, a;
    bool bejart;
}Kor;

Kor k[101];
int db=0;
bool bejar(int p, bool avan, bool tvan)
{
    queue<int> q;
    q.push(p);
    while(!q.empty())
    {
        p=q.front();
        q.pop();
        k[p].bejart=true;
        if(k[p].a)
            avan=true;
        if(k[p].t)
            tvan=true;
        if(avan && tvan)
            return true;
        for(int i=0; i<k[p].s.size(); i++)
            if(!k[k[p].s[i]].bejart)
            {
                q.push(k[p].s[i]);
                k[k[p].s[i]].bejart=true;
            }
    }
    return false;
}

int main()
{
    int N, M, K;
    cin >> N >> M >> K;
    for(int i=0; i<K; i++)
    {
        cin >> k[i].x >> k[i].y >> k[i].r;
        k[i].t=k[i].a=false;
        if(k[i].y-k[i].r<=0)
            k[i].t=true;
        if(k[i].y+k[i].r>=M)
            k[i].a=true;
        k[i].bejart=false;
        for(int j=0; j<i; j++)
        {
            if(sqrt(pow(abs(k[i].x-k[j].x),2)+pow(abs(k[i].y-k[j].y),2))<=k[i].r+k[j].r)
            {
                k[i].s.push_back(j);
                k[j].s.push_back(i);
            }
        }
    }

    bool nem=false;
    for(int i=0; i<K; i++)
    {
        if(k[i].bejart)
            continue;

        if(k[i].a && k[i].t)
        {
            cout << "Nem vezet" << endl;
            nem=true;
            break;
        }
        else if(k[i].a)
        {
            if(bejar(i, true, false))
            {
                cout << "Nem vezet" << endl;
                nem=true;
                break;
            }
        }
        else if(k[i].t)
        {
            if(bejar(i, false, true))
            {
                cout << "Nem vezet" << endl;
                nem=true;
                break;
            }
        }
    }
    if(!nem)
        cout << "Vezet" << endl;

    return 0;
}
1 - Elfogadva
Memória: 1752KiB
Idő: 2ms

Program kimenete:
Vezet
Elvárt kimenet:
Vezet
Ellenőrző kimenet:
ok "Vezet"

2 - Elfogadva
Memória: 1768KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

3 - Elfogadva
Memória: 1836KiB
Idő: 1ms

Program kimenete:
Vezet
Elvárt kimenet:
Vezet
Ellenőrző kimenet:
ok "Vezet"

4 - Elfogadva
Memória: 1836KiB
Idő: 1ms

Program kimenete:
Vezet
Elvárt kimenet:
Vezet
Ellenőrző kimenet:
ok "Vezet"

5 - Elfogadva
Memória: 1836KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

6 - Elfogadva
Memória: 1864KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

7 - Elfogadva
Memória: 1840KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

8 - Elfogadva
Memória: 1880KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

9 - Elfogadva
Memória: 1848KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

10 - Elfogadva
Memória: 1832KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

11 - Elfogadva
Memória: 1832KiB
Idő: 1ms

Program kimenete:
Vezet
Elvárt kimenet:
Vezet
Ellenőrző kimenet:
ok "Vezet"

12 - Elfogadva
Memória: 1864KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

13 - Elfogadva
Memória: 1840KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

14 - Elfogadva
Memória: 1828KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

15 - Elfogadva
Memória: 1840KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

16 - Elfogadva
Memória: 1892KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

17 - Elfogadva
Memória: 1828KiB
Idő: 1ms

Program kimenete:
Vezet
Elvárt kimenet:
Vezet
Ellenőrző kimenet:
ok "Vezet"

18 - Elfogadva
Memória: 1832KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

19 - Elfogadva
Memória: 1856KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

20 - Elfogadva
Memória: 1844KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

21 - Elfogadva
Memória: 1848KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

22 - Elfogadva
Memória: 1884KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

23 - Elfogadva
Memória: 1896KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

24 - Elfogadva
Memória: 1884KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

25 - Elfogadva
Memória: 1892KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

26 - Elfogadva
Memória: 1884KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

27 - Elfogadva
Memória: 1892KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

28 - Elfogadva
Memória: 1892KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

29 - Elfogadva
Memória: 1832KiB
Idő: 1ms

Program kimenete:
Vezet
Elvárt kimenet:
Vezet
Ellenőrző kimenet:
ok "Vezet"

30 - Elfogadva
Memória: 1832KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

31 - Elfogadva
Memória: 1832KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

32 - Elfogadva
Memória: 1832KiB
Idő: 1ms

Program kimenete:
Vezet
Elvárt kimenet:
Vezet
Ellenőrző kimenet:
ok "Vezet"

33 - Elfogadva
Memória: 1828KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

34 - Elfogadva
Memória: 1832KiB
Idő: 1ms

Program kimenete:
Vezet
Elvárt kimenet:
Vezet
Ellenőrző kimenet:
ok "Vezet"

35 - Elfogadva
Memória: 1828KiB
Idő: 1ms

Program kimenete:
Vezet
Elvárt kimenet:
Vezet
Ellenőrző kimenet:
ok "Vezet"

36 - Elfogadva
Memória: 1832KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenet:
ok 2 tokens

37 - Elfogadva
Memória: 1832KiB
Idő: 1ms

Program kimenete:
Vezet
Elvárt kimenet:
Vezet
Ellenőrző kimenet:
ok "Vezet"