7406 2024. 01. 08 14:53:20 szabelr Elágazás nélküli úton levő települések (50 pont) cpp17 Hibás válasz 23/50 28ms 4768 KiB
#include <iostream>
#include <algorithm>
using namespace std;
int hanyut[100001]{0};
int utkez[100001]{0};
int utveg[100001]{0};
int volt[100001]{0};
int jok[100001]{0};
int main()
{
    int n,m,x,y,most,elozo,db=0,q=1,regi=0;
    cin>>n>>m;
    for(int i=1; i<=m; i++)
    {
        cin>>x>>y;
        utkez[i]=x;
        utveg[i]=y;
        hanyut[x]++;
        hanyut[y]++;
    }
    for(int i=1; i<=n; i++)
    {
        if(hanyut[i]==1)
        {
            for(int y=1; y<=m; y++)
            {
                if(utkez[y]==i)
                {
                    jok[q]=utveg[y];
                    q++;
                    most=utveg[y];
                    elozo=utkez[y];
                    db++;
                    while(hanyut[most]==2)
                    {
                        for(int z=1; z<=m; z++)
                        {

                            if(utkez[z]==most and utveg[z]!= elozo and volt[z]==0 and hanyut[most]==2)
                            {
                                jok[q]=utveg[z];
                                q++;
                                most=utveg[z];
                                elozo=utkez[z];
                                volt[z]=1;
                                db++;


                            }
                            if(utveg[z]==most and utkez[z]!= elozo and volt[z]==0 and hanyut[most]==2)
                            {
                                jok[q]=utkez[z];
                                q++;
                                most=utkez[z];
                                elozo=utveg[z];
                                volt[z]=1;
                                db++;

                            }
                        }
                    }
                }

                if(utveg[y]==i)
                {
                    jok[q]=utkez[y];
                    q++;
                    most=utveg[y];
                    db++;
                    while(hanyut[most]==2)
                    {
                        for(int z=1; z<=m; z++)
                        {

                            if(utkez[z]==most and utveg[z]!= elozo and volt[z]==0 and hanyut[most]==2)
                            {
                                jok[q]=utveg[z];
                                q++;
                                most=utveg[z];
                                elozo=utkez[z];
                                volt[z]=1;
                                db++;


                            }
                            if(utveg[z]==most and utkez[z]!= elozo and volt[z]==0 and hanyut[most]==2)
                            {
                                jok[q]=utkez[z];
                                q++;
                                most=utkez[z];
                                elozo=utveg[z];
                                volt[z]=1;
                                db++;

                            }
                        }
                    }
                }

            }
        }
    }
    //cout<<db<<endl;
    sort(jok+1, jok+q);
    for(int i=1; i<=q-1; i++){
        if(jok[i]!=jok[i-1]){
            //cout<<jok[i]<<" ";
            //regi=jok[i];
        }else
            db--;
    }
    cout<<db<<endl;
    for(int i=1; i<=q-1; i++){
        if(jok[i]!=jok[i-1]){
            cout<<jok[i]<<" ";
            //regi=jok[i];
        }
    }
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 23/50
1 Elfogadva 0/0 3ms 1904 KiB
2 Elfogadva 0/0 26ms 2824 KiB
3 Hibás válasz 0/2 3ms 2580 KiB
4 Elfogadva 2/2 3ms 2536 KiB
5 Elfogadva 2/2 3ms 2672 KiB
6 Elfogadva 2/2 3ms 2648 KiB
7 Hibás válasz 0/2 3ms 2652 KiB
8 Elfogadva 2/2 4ms 2944 KiB
9 Hibás válasz 0/2 6ms 3188 KiB
10 Elfogadva 2/2 8ms 3152 KiB
11 Elfogadva 2/2 13ms 3508 KiB
12 Elfogadva 2/2 14ms 3380 KiB
13 Hibás válasz 0/3 4ms 3364 KiB
14 Hibás válasz 0/3 6ms 3704 KiB
15 Hibás válasz 0/3 8ms 3652 KiB
16 Hibás válasz 0/3 19ms 3812 KiB
17 Hibás válasz 0/3 21ms 4016 KiB
18 Hibás válasz 0/3 28ms 4016 KiB
19 Hibás válasz 0/3 28ms 4300 KiB
20 Elfogadva 3/3 25ms 4500 KiB
21 Elfogadva 3/3 26ms 4640 KiB
22 Elfogadva 3/3 27ms 4768 KiB