[]一个图论的有关问题

[求助]一个图论的问题
有一个46个顶点的有向完全图,每条边上有权值,还有一个定值X,从某固定顶点开始每经过一条边就从X中减去该边的权值,再赋给X,求一条回路使得经过顶点数最多。
我目前有三个想法:
1、贪心,但未必保证最优解
2、动归,复杂是不是有点高
3、遗传,万不得已
各位大侠,这种问题在图论有没有现成的算法?大概是个什么类型的问题?还有什么其他思路。

------解决方案--------------------
以前没见过这个问题。
这里给一个我想到的算法,类似于最短路径
对于图上的每个点,都设置一个数对链(p,w)或是数组
p代表路径经过的顶点个数,w代表路径经过所需要的权重
当一个点的数对链中存在P相等的情况时,删除W大的,保证一个p对应一个W
图中的每个点的数对链由其附近的点情况获得
在该点的数对链中添加(p邻+1,W+Wpp邻),并与当前的比较,剩下最优的数对链
当图已经稳定后,查看初始点中使得w<X的最大p值
------解决方案--------------------
求最优解的话, 时间复杂度要比旅行商问题要高, NP完全.