228782026-01-15 23:06:58emoke013Fertőzési sorozat (50 pont)cpp17Hibás válasz 42/50187ms1524 KiB
#include <bits/stdc++.h>
using namespace std;

int n, m,k;
int a[501][501];

int bj[501],os[501],v[500];
void beolvas()
{
    int x, y;
    cin>>n>>m>>k;
    for (int i=1; i<=k; i++)
        cin>>v[i];
    for (int i=1; i<=m; i++)
    {
        cin>>x>>y;
        a[x][y]=a[y][x]=1;
    }
}

void szelessegi(int kcs, int d[501])
{
    bool jart[501]={0};
    int os[501]={0};
    int elso=1, utolso=1;
    jart[kcs]=1;
    bj[elso]=kcs;
    os[elso]=0;
    while (elso<=utolso)
    {
        for (int i=1; i<=n; i++)
            if (a[bj[elso]][i]==1 && jart[i]==0)
            {
                utolso++;
                bj[utolso]=i;
                jart[i]=1;
                os[i]=bj[elso];
                d[i]=d[bj[elso]]+1;
            }
        elso++;
    }
    //for (int i=1; i<=n; i++) cout<<d[i]<<" ";
    //cout<<endl;
}

int main()
{
    beolvas();
    int ans[501],db=0;
    for(int kezd=1; kezd<=n; kezd++)
    {
        int d[501]={0};
        szelessegi(kezd,d);
        /*
        int mini=n+1, maxi=0;
        for(int i=1; i<=k; i++)
        {
            mini=min(mini,d[v[i]]);
            maxi=max(maxi,d[v[i]]);
        }
        */
        bool jo=1;
        for(int i=1; i<k; i++)
        {
            if (d[v[i]]>d[v[i+1]]) jo=0;
            if (d[v[i+1]]-d[v[i]]>1) jo=0;
        }

        if(jo) ans[db++]=kezd;

    }
    cout<<db<<"\n";
    for(int i=0; i<db; i++)
        cout<<ans[i]<<" ";
    cout<<"\n";

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base42/50
1Elfogadva0/02ms316 KiB
2Elfogadva0/02ms316 KiB
3Elfogadva0/028ms1012 KiB
4Elfogadva2/22ms316 KiB
5Elfogadva2/24ms564 KiB
6Elfogadva2/226ms904 KiB
7Elfogadva2/226ms912 KiB
8Elfogadva2/227ms908 KiB
9Elfogadva2/228ms908 KiB
10Elfogadva2/2185ms1388 KiB
11Elfogadva1/11ms316 KiB
12Elfogadva2/2175ms1396 KiB
13Elfogadva2/2175ms1328 KiB
14Elfogadva2/2174ms1392 KiB
15Elfogadva2/2175ms1388 KiB
16Elfogadva2/2175ms1332 KiB
17Elfogadva2/2173ms1388 KiB
18Elfogadva1/1175ms1388 KiB
19Elfogadva1/1177ms1524 KiB
20Elfogadva1/1174ms1332 KiB
21Elfogadva1/1185ms1392 KiB
22Elfogadva1/1185ms1392 KiB
23Elfogadva1/1186ms1388 KiB
24Hibás válasz0/1185ms1388 KiB
25Elfogadva1/1184ms1332 KiB
26Elfogadva1/1184ms1388 KiB
27Hibás válasz0/1185ms1392 KiB
28Hibás válasz0/1185ms1524 KiB
29Elfogadva1/1185ms1392 KiB
30Hibás válasz0/1185ms1332 KiB
31Hibás válasz0/1185ms1384 KiB
32Elfogadva1/1185ms1332 KiB
33Elfogadva1/1187ms1332 KiB
34Hibás válasz0/1185ms1332 KiB
35Hibás válasz0/1185ms1524 KiB
36Hibás válasz0/1185ms1388 KiB
37Elfogadva1/1185ms1332 KiB
38Elfogadva1/1185ms1388 KiB
39Elfogadva1/1185ms1332 KiB
40Elfogadva1/1185ms1404 KiB