记录编号 575227 评测结果 MMMMMMMMMM
题目名称 基础最短路练习题 最终得分 0
用户昵称 Gravatar什么都想学什么都学了一点的晓无痕 是否通过 未通过
代码语言 C++ 运行时间 0.000 s
提交时间 2022-09-07 20:57:19 内存使用 0.00 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,m,Q;
long long anst=0x7fffffffffffffff;
struct Map
{
    int to[10010]={0};
    int cnt=0;
    long long value[10010];
}mp[10010];
void fd(int x,int y,long long ans)
{    
     if(ans>anst)
     {
         return;
     }
    if(x==y)
    {
        anst=min(anst,ans);
    }
    for(int i=1;i<=mp[x].cnt+1;++i)
    {
        if(mp[x].to[i]!=0)
        {
            int xt=mp[x].to[i];
            mp[x].to[i]=0;
           long long anss=ans^mp[x].value[xt];
            fd(xt,y,anss);
            mp[x].to[i]=xt;
        }
        if(i==mp[x].cnt+1)
        {
            return;
        }
    }
}
int main()
{
    freopen("basiczdl.in","r",stdin);
    freopen("basiczdl.out","w",stdout);
    scanf("%d%d%lld",&n,&m,&Q);
    for(int i=1;i<=m;++i)
    {
        int x,y;
        long long v;
        scanf("%d%d%lld",&x,&y,&v);
        mp[x].to[mp[x].cnt+1]=y;
        mp[x].value[y]=v;
        mp[y].to[mp[y].cnt+1]=y;
        mp[y].value[x]=v;
    }
    int x,y;
    scanf("%d%d",&x,&y);
    fd(x,y,0);
    cout<<anst;
    return 0;
}