c/c++猴子挖花生

问题描述: 在二维直角平面坐标系内,存在n堆花生,一只猴子位于原点,猴子要按顺序拿到所有的花生,并回到原点。猴子每次只能沿x或y方向移动一个单位。
输入:一个整数n(0<n<100),接下来的n行,每行两个整数,代表每堆花生的坐标。
输出:猴子走过的路程。
(printf("%d\n",d)输出)
输入样例:4
1 1
1 -1
-1 -1
-1 1

输出样例:10


解决方案:题目不难,输入坐标,将坐标存在数组中,之后进行绝对值求和即可。

数组可以用自增长数组 vector,也可以自己定义一个固定数组。注释用的是vector的。

代码:

//猴子挖花生
#include <stdio.h>
//#include <vector>
#include <algorithm>
using namespace std;

int main()
{
	//vector<int> x;
	//vector<int> y;
	int x[100],y[100];
	int n,i,j;

	int sum=0,a=0,b=0;
	scanf("%d",&n);
    for(i=0;i<n;i++){
		  int t1,t2;
		  scanf("%d%d",&t1,&t2);
		  //x.push_back(t1);
		 // y.push_back(t2);
		  x[i]=t1;
		  y[i]=t2;
		}
    
	for(j=0;j<n;j++)
	{
	  sum=sum+abs(x[j]-a);
	  sum=sum+abs(y[j]-b);
	  a=x[j];
	  b=y[j];
	}
	sum=sum+abs(a-0);
	sum=sum+abs(b-0);
	printf("%d\n",sum);

    return 0;
}

如有不足,欢迎指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值