列表

详情


NC213999. 最短逃生距离

描述

《密室逃脱》于近几年兴起,皮卡丘携数位 一起进行了体验,但由于缺少小智的领导,除了皮卡丘之外的 都无法顺利逃离。

皮卡丘通过监控发现,这个密室是一个 的矩形,每一个坐标 都可以通往它上下左右紧连的下一个坐标,即: 可以选择通往 这四个坐标其中之一,当然,前提是坐标仍然处于密室内部。
而该密室的出口一共有 个,处于该矩形的主对角线上(即: 都是出口),只要抵达任意一个出口,即可顺利逃离密室。

现在,皮卡丘通过某种特殊方式联系到了你,并且依次给你 目前所处的坐标,对于每一只 ,希望你告诉皮卡丘,这只 最少需要移动多少次,才能顺利抵达出口。

输入描述

第一行输入两个正整数 ,代表密室矩形的边长以及除了皮卡丘之外的  数量。

接下去 行,每行输入两个正整数 ,表示这一只 位于 这个坐标上。

输出描述

对于每只 ,一行输出一个整数代表它所需要的最少移动次数。

示例1

输入:

3 2
1 1
1 2

输出:

0
1

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C(clang11) 解法, 执行用时: 543ms, 内存消耗: 6860K, 提交时间: 2020-11-21 00:09:44

#include<stdio.h>
#include<math.h>
int main(){
	int n,m,x,y,j;
	scanf("%d %d",&n,&m);
	for(int i=0;i<m;i++){
	  scanf("%d %d",&x,&y);
	  printf("%d\n",abs(x-y));
	}
	return 0;
}

C++(clang++11) 解法, 执行用时: 350ms, 内存消耗: 20360K, 提交时间: 2020-11-25 14:25:25

#include<iostream>
using namespace std;
int main()
{
	int m,n,x,y;
	cin>>n>>m;
	while(m--)
	{
		scanf("%d%d",&x,&y);
		printf("%d\n",x>y?x-y:y-x);
	}
}

上一题