题解:
1.注意输出格式
总结:
1.保持编程风格一致是一个避免出错的好主意
2.做事保持冷静,今天碰到一些影响心情的事情,也算是没有受到太大的影响,感觉这样很好。冷静是很多好习惯的基础!一定要继续努力,保持冷静客观
3.下一步就是总结发生问题的地方,做到不再犯同样的错误了,甚至总结出为何我会发生这样的错误
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
#define MAXN 100010
int x[MAXN],y[MAXN],d[MAXN],w[MAXN];
int _,c,n;
int dis(int i)
{
return abs(x[i]) + abs(y[i]) + abs(x[i - 1]) + abs(y[i - 1]);
}
int main()
{
cin >> _;
while(_--)
{
scanf("%d%d",&c,&n);
for(int i = 2;i <= n + 1;i++)
scanf("%d%d%d",&x[i],&y[i],&w[i]);
for(int i = 2;i <= n + 1;i++)
{
int weight = w[i],road = 0;
d[i] = dis(i) + d[i - 1] + road;
for(int j = 1;;j++)
{
int k = i - j;
weight += w[k];
road += abs(x[k + 1] - x[k]) + abs(y[k + 1] - y[k]);
if(k <= 1 || weight > c)break;
d[i] = min(d[i],dis(k) + d[k - 1] + road);
}
}
cout << d[n + 1] + abs(x[n + 1]) + abs(y[n + 1]) << endl;
if(_ > 0)puts("");
}
}