Steps UVA 846

说说:此题要求求出从整数x到达整数y所要经过的最短步数,且第一步和最后一步必须为一,同一时候每一步都比前一步多一步,少一步或一样。如果想搞清楚每一步详细是如何走的,那么这道题是相当麻烦的。考虑到前后两步之间最多差一,那么一到最大数之间的每个数从左到右以及从右到左的时候必然都出现。那么我们能够预想如果这样一个数列。

1,2,3,....n-2,n-1,n,n-1,n-2....3,2,1,若数列的和小于y和x的差肯定是不行的。所以要调整n至刚好大于或等于y和x的差。显然当y与x的差恰好为数列的和那直接输出结果。否则构成y和x差的数列的最大值必然为n-1。这时,由于步数要最少,所以我们从最大的那个n-1開始一个一个尽量多的放数。终于把y-x的差放完之后,就可以求得最短步数。例:y-x=7,则可找到1,2,3,2,1是大于9的,那么8的数列中必存在1,2,1这种序列,这时7-4=4,最多能再放一个2。那还剩下一个1,最后填入就可以。

题目:

Steps

One steps through integer points of the straight line. The length of a step must be nonnegative and can be by one bigger than, equal to, or

如今你要通过几步从数轴的某点到达另外一点。每步的长度都是非负的并能够比前一步大一步,相等或小一步

by one smaller than the length of the previous step.

What is the minimum number of steps in order to get from x to y? The length of the first and the last step must be 1.

从x到达y的最少步数是多少?而且第一步和最后一步的长度一定为1

Input and Output

Input consists of a line containing n, the number of test cases. For each test case, a line follows with two integers: 0xy <
231. For

输入有一行包括一个整数n,是測试的组数。对于每组測试数据,一行有两个整数0xy <
231。对于每行測试数据

each test case, print a line giving the minimum number of steps to get from x to y.

输出一行给出从x到y的最少步数。

Sample Input

3
45 48
45 49
45 50

Sample Output

3
3
4

源码:

#include <stdio.h>

int n,x,y,q;

int main(){
  int i,j,k,result;

 // freopen("input.txt","r",stdin);
  scanf("%d",&n);

  while(n--){
    scanf("%d%d",&x,&y);

    q=y-x;
    if(q<=3){//小于三的特殊情况先处理
      printf("%d\n",q);
      continue;
    }

    for(i=2;;i++)
      if(i*i>=q)
      break;

    if(i*i==q){
    printf("%d\n",2*i-1);
    continue;
    }
    else
    i--;

    q-=i*i;

    result=2*i-1;
    while(q){//从数列中最大的数開始放,放完为止
      result+=q/i;
      q=q-i*(q/i);
      i--;
    }

    printf("%d\n",result);
  }
  return 0;
}
时间: 2024-12-18 00:41:17

Steps UVA 846的相关文章

uva 846 - Steps

找出步數與距離的關係即可得解. 0步最多能抵達的距離是0 1步最多能抵達的距離是1(1) 2步最多能抵達的距離是2(1 1) 3步最多能抵達的距離是4(1 2 1) 4步最多能抵達的距離是6(1 2 2 1) 5步最多能抵達的距離是9(1 2 3 2 1) 6步最多能抵達的距離是12(1 2 3 3 2 1) ……以此類推 1 #include <iostream> 2 #include <cstdio> 3 #include <cmath> 4 #define ERR

uva846 Steps

Steps Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit Status Practice UVA 846 Appoint description: Description Download as PDF One steps through integer points of the straight line. The length of a step must be nonnegative and c

UVa - 11452 - Dancing the Cheeky-Cheeky

先上题目: F. Dancing the Cheeky-Cheeky  Context The Cheeky-Cheeky is a new song. They dance it in Mula, and also in Hong Kong. All the freekies dance it, and the geek all love it. And the Cheeky-Cheeky is danced like this: The breikin-brokin. The meneito

UVA题目分类

题目 Volume 0. Getting Started 开始10055 - Hashmat the Brave Warrior 10071 - Back to High School Physics 10300 - Ecological Premium 458 - The Decoder 494 - Kindergarten Counting Game 414 - Machined Surfaces 490 - Rotating Sentences 445 - Marvelous Mazes

uva 116 Unidirectional TSP (DP)

uva 116 Unidirectional TSP Background Problems that require minimum paths through some domain appear in many different areas of computer science. For example, one of the constraints in VLSI routing problems is minimizing wire length. The Traveling Sa

uva 704

自己之前的不见了.. 这题是双向广搜即可过.. 1 // Colour Hash (色彩缤纷游戏) 2 // PC/UVa IDs: 110807/704, Popularity: B, Success rate: average Level: 3 3 // Verdict: Accepted 4 // Submission Date: 2011-08-28 5 // UVa Run Time: 0.048s 6 // 7 // 版权所有(C)2011,邱秋.metaphysis # yeah

UVA - 1153 Keep the Customer Satisfied(贪心)

UVA - 1153 Keep the Customer Satisfied Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld & %llu Description Simon and Garfunkel Corporation (SG Corp.) is a large steel-making company with thousand of customers. Keeping the customer s

POJ 3026 Borg Maze &amp; UVA 10307 Killing Aliens in Borg Maze(BFS,最小生成树)

http://poj.org/problem?id=3026 http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1248 Borg Maze Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8498   Accepted: 2862 Description The Bor

Graph Connectivity UVA, 459(并查集)

Graph Connectivity UVA, 459 Time Limit: 3000 MS  Graph Connectivity  Consider a graph G formed from a large number of nodes connected by edges. G is said to be connected if a path can be found in 0 or more steps between any pair of nodes in G. For ex