hud 1030 Delta-wave(数论)
来源:互联网 发布:大数据与软件工程 编辑:程序博客网 时间:2024/05/29 02:28
A triangle field is numbered with successive integers in the way shown on the picture below.
The traveller needs to go from the cell with number M to the cell with number N. The traveller is able to enter the cell through cell edges only, he can not travel from cell to cell through vertices. The number of edges the traveller passes makes the length of the traveller's route.
Write the program to determine the length of the shortest route connecting cells with numbers N and M.
Input Input contains two integer numbers M and N in the range from 1 to 1000000000 separated with space(s). Output Output should contain the length of the shortest route. Sample Input Sample Output
The traveller needs to go from the cell with number M to the cell with number N. The traveller is able to enter the cell through cell edges only, he can not travel from cell to cell through vertices. The number of edges the traveller passes makes the length of the traveller's route.
Write the program to determine the length of the shortest route connecting cells with numbers N and M.
6 12
3
求三角形内两点的最短路径,题目见这里,很容易证明最短的路径就是两点在三个方向的距离之和。三个方向是上,左,右
#include <stdio.h>#include <math.h>int main(){ int m,n,ai,aj,bi,bj,ak,bk; while (scanf("%d%d",&m,&n)!=EOF) { ai = sqrt(m-1)+1; bi = sqrt(n-1)+1;// printf("ai=%d bi=%d\n",ai,bi); aj = (m-(ai-1)*(ai-1)-1)/2+1; bj = (n-(bi-1)*(bi-1)-1)/2+1;// printf("aj=%d bj=%d\n",aj,bj); ak = (ai*ai-m)/2+1; bk = (bi*bi-n)/2+1;// printf("ak=%d bk=%d\n",ak,bk); printf("%d\n",abs(ai-bi)+abs(aj-bj)+abs(ak-bk)); } return 0;}
0 0
- hud 1030 Delta-wave(数论)
- HDU 1030 Delta-wave
- HDU 1030 Delta-wave
- HDU 1030 Delta-wave
- HDU-1030-Delta-wave
- hdu 1030 Delta-wave
- hdu 1030 Delta-wave
- hdu 1030 Delta-Wave+
- 1030 Delta-wave
- HDU 1030 Delta-wave
- Hdu 1030 Delta Wave
- hdu 1030 Delta-wave
- Delta-wave(HDU 1030)
- hdu 1030 Delta-wave
- hdu 1030 Delta-wave
- HDOJ 1030 Delta-wave
- HDU 1030 Delta-wave
- hdu 1030 Delta-wave
- numpy矩阵的基础操作2
- 151. Reverse Words in a String
- [网易云课堂]Linux内核分析(三)—— 跟踪分析Linux内核的启动过程
- 从USB驱动器运行Windows 10
- 网络层
- hud 1030 Delta-wave(数论)
- ananconda 安装 opencv3
- 网络电视精灵
- C++ delete错误
- 归并排序
- 搬家结束~~~
- sqlalchemy一对多的关系表案例
- [OpenGL]矩阵乘法引发的血案
- Codeforces Beta Round #17 C. Balance DP