177462025-09-17 07:54:10ercseferencÚtvonalakcpp17Time limit exceeded 0/1001.1s39892 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");
    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.087s8624 KiB
subtask20/15
3Time limit exceeded1.08s2600 KiB
4Time limit exceeded1.08s316 KiB
5Accepted4ms564 KiB
6Time limit exceeded1.08s1076 KiB
7Time limit exceeded1.1s4404 KiB
8Time limit exceeded1.08s8624 KiB
subtask30/15
9Accepted4ms316 KiB
10Accepted14ms316 KiB
11Accepted70ms568 KiB
12Accepted412ms1076 KiB
13Time limit exceeded1.1s4104 KiB
14Time limit exceeded1.1s8132 KiB
15Time limit exceeded1.087s9520 KiB
subtask40/15
16Time limit exceeded1.085s39880 KiB
17Time limit exceeded1.082s4972 KiB
18Time limit exceeded1.082s1268 KiB
19Time limit exceeded1.083s5196 KiB
20Time limit exceeded1.083s8668 KiB
subtask50/15
21Time limit exceeded1.078s39892 KiB
22Time limit exceeded1.078s36460 KiB
23Accepted3ms316 KiB
24Time limit exceeded1.077s4048 KiB
25Time limit exceeded1.1s4364 KiB
26Time limit exceeded1.082s8980 KiB
subtask60/40
27Accepted1ms316 KiB
28Time limit exceeded1.088s6824 KiB
29Time limit exceeded1.08s2600 KiB
30Time limit exceeded1.08s316 KiB
31Accepted4ms564 KiB
32Time limit exceeded1.08s1076 KiB
33Time limit exceeded1.1s4404 KiB
34Time limit exceeded1.08s8624 KiB
35Accepted4ms316 KiB
36Accepted14ms316 KiB
37Accepted70ms568 KiB
38Accepted412ms1076 KiB
39Time limit exceeded1.1s4104 KiB
40Time limit exceeded1.1s8132 KiB
41Time limit exceeded1.087s9520 KiB
42Time limit exceeded1.085s39880 KiB
43Time limit exceeded1.082s4972 KiB
44Time limit exceeded1.082s1268 KiB
45Time limit exceeded1.083s5196 KiB
46Time limit exceeded1.083s8668 KiB
47Time limit exceeded1.078s39892 KiB
48Time limit exceeded1.078s36460 KiB
49Accepted3ms316 KiB
50Time limit exceeded1.077s4048 KiB
51Time limit exceeded1.1s4364 KiB
52Time limit exceeded1.082s8980 KiB
53Time limit exceeded1.09s9496 KiB
54Time limit exceeded1.088s564 KiB
55Accepted170ms564 KiB
56Time limit exceeded1.077s1076 KiB
57Time limit exceeded1.075s4788 KiB
58Time limit exceeded1.077s5308 KiB
59Time limit exceeded1.077s9556 KiB
60Time limit exceeded1.085s8740 KiB
61Time limit exceeded1.077s8880 KiB
62Time limit exceeded1.078s8764 KiB