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); i…
Delta-wave HDU - 1030 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 e…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1030 Delta-wave Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 7163    Accepted Submission(s): 2772 Problem Description A triangle field is numbe…
problem description http://acm.hdu.edu.cn/showproblem.php?pid=1030 #include <cstdio> #include <cmath> #include <algorithm> int calPathLength(int x, int y) { //path length from 1 (1st line, lower) to a number in ith line is only differ by…
圆桌   题意就是每分钟可以将相邻的两个人的位置互换一下 , 问你 ,几分钟可以将所有人的位置互换成    原先的  B 在A的右边 C在A的左边 , 换成现在的 C 在A 的右边 , B 在 A 的 左边 . 看完题目之后就能发现这是一个数学题 , 但是怎么推导方程 呢 ? 我们知道 如果是一条直线想达到这样的效果的话 , n*(n-1)/2 由 冒泡 得之 圆桌的话这样当然是不行的 , 不能直接套上去 . 因为 直线的话 从 第一个 到最后一个 中间是有距离的 , 如果是圆桌的话 没有距离…
题目传送门 http://acm.hdu.edu.cn/showproblem.php?pid=5073 这道题RE了好多发啊囧,RE到精神不振. Galaxy的质心并不是一成不变的,随着一些星球的移动而变化,最终质心就变成了坐标和的平均值了. 具体思路如右http://mathlover.info/archives/hdu5073 代码就补贴了囧...…
题意:balabala 题意里给出了好多集合之间的关系,一开始以为要用离散一步一步推什么的... [然而其实并没有什么卵用 对于每一种语言来说,这种语言谁会谁不会是的方案数一定,而且语言之间相互独立的,互相之间通过乘法原理来计算方案数,这样就一定是某一个数的n次方啦~ 由sample data知,答案为32^n 用java写能偷懒[逃 import java.io.*; import java.math.*; import java.util.*; public class Main { pub…
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…
给出一个数字塔,然后求沿着数字之间的边走,给出两个数字,问其路径最短的长度是多少. 看似一条搜索题目,只是有一定做题经验的人都知道,这个不是搜索题,直接搜索肯定超时. 这个是依据规律计算的数学题目. 我这里的思路是一层一层往下搜,利用层间的规律加速,实现层跃,到了同一层,或者同一个对角列的时候就能够直接计算出结果了.对角列即顺着三角形的边能直接走到目标的列. 数学计算出层与层之间相差2,而也能够利用这个规律计算N和M所在的层和列. 这样做由点麻烦,只是我自己琢磨出来的,不错的思路.O(∩_∩)O…
题意是问在给定的三角形数阵中从一个数到另一个数所要跨过的边数. 最初的时候很迷,除了发现每层的数字个数与层数间的关系和每层数最后一个数与层数的关系外什么也没看出来,打算先求出数字所在的层数,然后计算到该层最后一个数要跨过的边数,由于各层最后一个数之间所跨过的边数与层数差有关(称层数距离), 因此可以求得一条路线:如图 但两数间的最短路线依然求不到,感觉也不能用到每层最后一个数所跨边数作差,而层数距离也不一定会体现在最短路径中,比如 7 和 13 这一组,就只跨一条边即可. 借鉴了别人的博客,才知…