关注
#include <iostream> #include <math.h> #include <vector> using namespace std; int main()
{ int total_line; int vector_x; int vector_y; int step_number; cin >> total_line; vector<int>step; for (int i = 0; i < total_line; ++i)
{ int temp; cin >> vector_x >> vector_y >> step_number; ///全部丢到第一象限 vector_x = abs(vector_x); vector_y = abs(vector_y); ///横纵坐标一样的时候,步数小于横纵坐标是不能走到的,步数大于等于横纵坐标时候,可以反复走重复路径//还得考虑奇偶数情况 if(vector_x == vector_y)
{ if(step_number < vector_x)
{
temp = -1; step.push_back(temp); } if(step_number >= vector_x)
{ int temp_diffrence; temp_diffrence = step_number - vector_x; if(temp_diffrence % 2 == 0)
{
step.push_back(step_number); } else {
step.push_back(step_number-2); }
}
} ////////vector_x和vector_y不一样的时候 if(vector_x != vector_y)
{ int temp_min; int temp_max; int temp_diff; int temp_sum; temp_min = min(vector_x,vector_y); temp_max = max(vector_x,vector_y); temp_diff = temp_max - temp_min; temp_sum = temp_diff + temp_min; //走到一条边之后直接走直线到终点所需要的步数 int temp_steps = temp_min; //走斜线,最小的那个正方形,便可以走到正方形的一条边上 ///到达不了终点的情况 if(step_number < temp_sum)
{
temp = -1; step.push_back(temp); } ///步数先走最小正方形后,再走直线刚好到终点的情况,讨论直线可以变为斜线的情况 if(step_number == temp_sum)
{ if(temp_diff % 2 == 0)
{
step.push_back(step_number); } else {
step.push_back(step_number-1); }
} ///步数先走完最小正方形后,再走直线到达终点步数小于给出步数的情况,考虑反复走 if(step_number > temp_sum)
{ if(temp_max % 2 == 0)
{ if(temp_min % 2 == 0)
{ if((step_number-temp_max) % 2 == 0)
{
step.push_back(step_number); } else {
step.push_back(step_number-2); }
} else {
step.push_back(step_number-1); }
} else { if(temp_min % 2 == 0)
{
step.push_back(step_number-1); } else { if((step_number-temp_max) % 2 == 0)
{
step.push_back(step_number); } else {
step.push_back(step_number-2); }
}
}
}
}
} for (int j = 0; j < step.size(); ++j)
{
cout << step[j] << endl; } return 0; }
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 面试问题记录 #
19670次浏览 337人参与
# 硬件人你反向读研了吗 #
39902次浏览 608人参与
# 京东TGT #
27587次浏览 151人参与
# 硬件人秋招的第一个offer #
65683次浏览 1081人参与
# 滴滴工作体验 #
23371次浏览 123人参与
# 非技术岗投递进展 #
137551次浏览 1222人参与
# 材料进Fab厂真的劝退吗? #
36188次浏览 158人参与
# 不考虑转正,实习多久合适 #
24207次浏览 118人参与
# 机械求职避坑tips #
41151次浏览 355人参与
# 互联网回暖,腾讯要招5000+人! #
263531次浏览 4889人参与
# 面试经验谈 #
12725次浏览 190人参与
# 机械只有转码才有出路吗? #
125883次浏览 1590人参与
# 职场新人生存指南 #
332481次浏览 7135人参与
# 面试吐槽bot #
2544次浏览 31人参与
# 异地恋该为对方跳槽吗 #
23505次浏览 119人参与
# 硬件人更看重稳定还是高薪 #
38668次浏览 203人参与
# vivo求职进展汇总 #
208612次浏览 1341人参与
# 25届如何提前做秋招准备? #
163928次浏览 2451人参与
# 你遇到过哪些神仙同事 #
69468次浏览 623人参与
# 租房找室友 #
27654次浏览 144人参与
# 深信服求职进展汇总 #
188762次浏览 1694人参与