我在其中一个求职面试中遇到了这个问题,我无法找到解决方案的正确算法,所以我在这里发布这个问题:
有一种机器人可以通过两种方式在一个坐标平面上移动:
假设机器人当前位置是(x,y),机器人可以移动等于x和y的总和,如果直接像这样:
(x,y) -> (x+y, y)
(x,y) -> (x, x+y)
Run Code Online (Sandbox Code Playgroud)
现在给出一个初始Point(x1,y1)和一个目标点(x2,y2),你需要编写一个程序来检查机器人是否可以通过任意数量的移动到达目的地.
注意:x1,y1,x2,y2> 0
说明:
假设机器人的初始点是(2,3),而desintation是(7,5)
这种情况下的结果是肯定的,因为机器人可以采用此路径:
(2,3) - >(2,2 + 3)=>(2,5)
(2,5) - >(2 + 5,5)=>(7,5)
假设机器人的初始点是(2,3)并且desintation是(4,5)
在这种情况下的结果是否,因为无论机器人采取何种路径都无法到达(4,5)
我正在尝试调试(命中断点)一个python脚本,它通过C#中的新进程执行.
我已经安装了Child Process Debugging Power工具,因为该工具据说允许人们这样做.
根据其文档,它需要两件事:
我的流程创建如下:
ProcessStartInfo startInfo = new ProcessStartInfo();
Process p = new Process();
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
startInfo.RedirectStandardOutput = false;
startInfo.RedirectStandardError = true;
startInfo.RedirectStandardInput = false;
...
p.StartInfo = startInfo;
p.EnableRaisingEvents = true;
p.Start();
Run Code Online (Sandbox Code Playgroud)
据我所知,只要我使用
UseShellExecute = false;
Run Code Online (Sandbox Code Playgroud)
应该使用CreateProcess启动该过程.(要求2)
在我的项目中,我还启用了本机代码调试.(Req.1)
我还在我的符号列表中包含了python.pdb和python36.pdb.但似乎我找不到python3.pdb
'python.exe' (Win32): Loaded 'C:\...\Python36\python.exe'. Symbols loaded.
'python.exe' (Win32): Loaded 'C:\...\Python36\python36.dll'. Symbols loaded.
'python.exe' (Win32): Loaded 'C:\...\python3.dll'. Cannot find or open the PDB file.
Run Code Online (Sandbox Code Playgroud)
当我使用调试符号安装python时,这不包括在内,我似乎没有在其他任何地方找到它.
我正在使用2017年的视觉工作室,没有断点被击中.