HDU 1030 数学题

给出两点,求这两点在图上的最短路径

分别以最上,左下,右下为顶点,看这个三角图形

ans=这三种情况下两点的层数差

#include "stdio.h"
#include "string.h"
#include "math.h"
int main()
{
    int n,m,sn,sm,rn,rm,ln,lm,ans;
    while (scanf("%d%d",&n,&m)!=EOF)
    {
        sn=sqrt(n);
        if (sn*sn!=n) sn++; // 以最上为定点所在的层数
        sm=sqrt(m);
        if (sm*sm!=m) sm++;

        ln=(n-(sn-1)*(sn-1))/2+1+(sm-sn); // 以左下为顶点所在的层数
        lm=(m-(sm-1)*(sm-1))/2+1;

        rn=(sn*sn-n+1)/2+1+(sm-sn); // 以右下为顶点所在的层数
        rm=(sm*sm-m+1)/2+1;

        ans=fabs(sn-sm)+fabs(ln-lm)+fabs(rn-rm);

        printf("%d\n",ans);
    }
    return 0;
}
时间: 2024-10-09 22:14:11

HDU 1030 数学题的相关文章

hdu 1030 数学题加观察

#include <cstdio> #include <iostream> #include <algorithm> #include <queue> #include <cmath> #include <cstring> #include <stack> #include <set> #include <map> #include <vector> using namespace st

hdu 1030

Delta-wave Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 5611    Accepted Submission(s): 2137 Problem Description A triangle field is numbered with successive integers in the way shown on the

HDU 5073 数学题

题目传送门 http://acm.hdu.edu.cn/showproblem.php?pid=5073 这道题RE了好多发啊囧,RE到精神不振. Galaxy的质心并不是一成不变的,随着一些星球的移动而变化,最终质心就变成了坐标和的平均值了. 具体思路如右http://mathlover.info/archives/hdu5073 代码就补贴了囧...

hdu 1030 Delta-wave

Delta-wave Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 8166    Accepted Submission(s): 3219 Problem Description A triangle field is numbered with successive integers in the way shown on the

hdu 5065 数学题

#include<iostream> #include<cmath> #include<cstdio> using namespace std; int A,B,y; double ans=0; double inline f(double x) { return A*x*x-(B*sin(x)+y); } double inline absf(double x) { if(f(x)<0)return -f(x); return f(x); } bool find

HDU 1030 Delta-wave(找规律)

Problem Description: 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 ed

HDU 1030 Delta-wave 数学题解

给出一个数字塔,然后求沿着数字之间的边走,给出两个数字,问其路径最短的长度是多少. 看似一条搜索题目,只是有一定做题经验的人都知道,这个不是搜索题,直接搜索肯定超时. 这个是依据规律计算的数学题目. 我这里的思路是一层一层往下搜,利用层间的规律加速,实现层跃,到了同一层,或者同一个对角列的时候就能够直接计算出结果了.对角列即顺着三角形的边能直接走到目标的列. 数学计算出层与层之间相差2,而也能够利用这个规律计算N和M所在的层和列. 这样做由点麻烦,只是我自己琢磨出来的,不错的思路.O(∩_∩)O

hdu 4519(数学题)

郑厂长系列故事——体检 Time Limit: 500/200 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 1361    Accepted Submission(s): 747 Problem Description 郑厂长不是正厂长 也不是副厂长 他根本就不是厂长 只是公司的一个码农 郑厂长所在的腾讯公司每一年都要组织员工体检,比如量身高体重.测血压之类的,今年也不例外.

hdu 5241 数学题= =

题意:balabala 题意里给出了好多集合之间的关系,一开始以为要用离散一步一步推什么的... [然而其实并没有什么卵用 对于每一种语言来说,这种语言谁会谁不会是的方案数一定,而且语言之间相互独立的,互相之间通过乘法原理来计算方案数,这样就一定是某一个数的n次方啦~ 由sample data知,答案为32^n 用java写能偷懒[逃 1 import java.io.*; 2 import java.math.*; 3 import java.util.*; 4 public class Ma