8、1

#include<bits/stdc++.h>
using namespace std;

bool pp=false;
int n,m,wn;
int a[105][2],w[1005][1005];
bool d[20];
int b[105][105];
vector<int> g[15];
int k[10005],x=0;

void dfs(int i,int wn){
    d[i]=true;
    cout<<i<<" ";
    if(i==n){
        pp=true;
        cout<<wn<<endl;
    
    
    }
    for(int j=1; j<=n; j++){
        if(a[i][j]!=0 && d[j]==false){
            d[j]=true;
            wn+=w[i][j];
            dfs(j);
            d[j]=false;
        } 
    
    }
}

int main(){
    cin>>n>>m;
    for(int i=1; i<=m; i++){
        cin>>a[i][1]>>a[i][2];
        cin>>w[a[i][1]][a[i][2]];
        b[a[i][1]][a[i][2]]=1;
    }
    dfs(1);
    if(pp==false){
        cout<<"-1"<<endl;
    }
    return 0;
}

 

#include<bits/stdc++.h>
using namespace std;

int c,p;
int a[1005][1005];
int d[1005];
int minn=INT_MAX;
bool b[1005];
vector<int> g[1005];
int y;
int k;

void bfs(){
    memset(d,0,sizeof(d));
    queue<int> q;
    q.push(1);
    b[1]=true;
    while(!q.empty()){
        
        y=q.front();
        q.pop(); 
        for(int i=0; i<g[y].size(); i++){
            if(b[g[y][i]]==false){
                k=g[y][i];
                b[k]=true;
                q.push(k);
                d[k]=d[y]+1;
            }
        }
    }
    cout<<d[k]<<endl;
}

int main(){
    cin>>c>>p;
    int qw,qe;
    for(int i=1; i<=p; i++){
        cin>>qw>>qe;
        g[qw].push_back(qe);
        g[qe].push_back(qw);
    }
    bfs();
    return 0;
}
//deg

 

posted @ 2023-08-01 17:03  竹余居居居居居  阅读(206)  评论(0)    收藏  举报