177472025-09-17 07:56:05ercseferencÚtvonalakcpp17Time limit exceeded 0/1001.1s39988 KiB
#include <bits/stdc++.h>
using namespace std;
int n,m;
struct var{vector<int>kim; bool volt=0;};
vector<var>a;
int dfs(int x, int y){
    vector<int>ans;
    vector<int>lepes,ut;
    lepes.push_back(0);
    ut.push_back(x); int l=0;
    a[x].volt=1;
    while(l>=0){
        //cout<<lepes[l]<<" "<<ut[l]<<endl;
        if(lepes[l]>=a[ut[l]].kim.size() || ut[l]==y){
            if(ut[l]==y)ans.insert(ans.end(), ut.begin(), ut.end());
            a[ut[l]].volt=0;
            ut.erase(ut.begin()+l);
            lepes.erase(lepes.begin()+l);
            l--;
            if(l>=0)lepes[l]++;}
        else if(!a[a[ut[l]].kim[lepes[l]]].volt){
            ut.push_back(a[ut[l]].kim[lepes[l]]);
            lepes.push_back(0); l++;
            a[ut[l]].volt=1;}
        else if(lepes[l]+1<a[ut[l]].kim.size())
            lepes[l]++;
        else {
            a[ut[l]].volt=0;
            ut.erase(ut.begin()+l);
            lepes.erase(lepes.begin()+l);
            if(l>=1)lepes[l-1]++;
            l--;
            }}
        sort(ans.begin(),ans.end());
        for(int i=0; i<ans.size(); i++){
            if(ans[i]==x || ans[i]==y || (ans[i]==ans[i-1]&& i>0)){
                ans.erase(ans.begin()+i);
                i--;}}
        return ans.size();}
int main()
{
    //ifstream f("szamok.txt");
    ios_base::sync_with_stdio(0);
    cout.tie(0); cin.tie(0);
    int k; cin>>n>>m>>k; a.resize(n+1);
    for(int i=0; i<m; i++){
        int x,y; cin>>x>>y;
        a[x].kim.push_back(y);
        a[y].kim.push_back(x);
        }
    for(int i=0; i<k; i++){
        int x,y; cin>>x>>y;
        cout<<dfs(x,y)<<endl;}
    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Time limit exceeded1.09s6832 KiB
subtask20/15
3Time limit exceeded1.082s2620 KiB
4Time limit exceeded1.082s316 KiB
5Accepted3ms564 KiB
6Time limit exceeded1.082s1080 KiB
7Time limit exceeded1.1s3640 KiB
8Time limit exceeded1.08s6832 KiB
subtask30/15
9Accepted4ms316 KiB
10Accepted14ms548 KiB
11Accepted67ms748 KiB
12Accepted398ms820 KiB
13Time limit exceeded1.1s3376 KiB
14Time limit exceeded1.1s6812 KiB
15Time limit exceeded1.087s8232 KiB
subtask40/15
16Time limit exceeded1.077s39988 KiB
17Time limit exceeded1.077s4964 KiB
18Time limit exceeded1.077s1268 KiB
19Time limit exceeded1.077s4268 KiB
20Time limit exceeded1.088s6832 KiB
subtask50/15
21Time limit exceeded1.075s39892 KiB
22Time limit exceeded1.075s36456 KiB
23Accepted3ms316 KiB
24Time limit exceeded1.074s4048 KiB
25Time limit exceeded1.1s4400 KiB
26Time limit exceeded1.088s8952 KiB
subtask60/40
27Accepted1ms316 KiB
28Time limit exceeded1.082s6792 KiB
29Time limit exceeded1.082s2620 KiB
30Time limit exceeded1.082s316 KiB
31Accepted3ms564 KiB
32Time limit exceeded1.082s1080 KiB
33Time limit exceeded1.1s3640 KiB
34Time limit exceeded1.08s6832 KiB
35Accepted4ms316 KiB
36Accepted14ms548 KiB
37Accepted67ms748 KiB
38Accepted398ms820 KiB
39Time limit exceeded1.1s3376 KiB
40Time limit exceeded1.1s6812 KiB
41Time limit exceeded1.087s8232 KiB
42Time limit exceeded1.077s39988 KiB
43Time limit exceeded1.077s4964 KiB
44Time limit exceeded1.077s1268 KiB
45Time limit exceeded1.077s4268 KiB
46Time limit exceeded1.088s6832 KiB
47Time limit exceeded1.075s39892 KiB
48Time limit exceeded1.075s36456 KiB
49Accepted3ms316 KiB
50Time limit exceeded1.074s4048 KiB
51Time limit exceeded1.1s4400 KiB
52Time limit exceeded1.088s8952 KiB
53Time limit exceeded1.082s7972 KiB
54Time limit exceeded1.082s316 KiB
55Accepted164ms748 KiB
56Time limit exceeded1.088s1076 KiB
57Time limit exceeded1.083s3636 KiB
58Time limit exceeded1.083s4148 KiB
59Time limit exceeded1.083s8332 KiB
60Time limit exceeded1.093s6832 KiB
61Time limit exceeded1.093s7076 KiB
62Time limit exceeded1.093s6860 KiB