題目大意:
給兩個點a,b,要求從a移動到b,每次移動步數要比前面的一步大或者等於或者小1。求最小的步數。(起始和終點必須步數為1)
思路:
直接對稱著來做。
比如:
1->7的話
可以 1 2 2 1
1->9
1 2 3 2 1
50
1 2 3 4 5 6 7 6 5 4 3 2 1 1
兩個OJ輸入格式不一樣。。
下面是POJ的:
#includeint main() { int T; scanf(%d,&T); while(T--) { int a,b; scanf(%d%d,&a,&b); if(a==b) { printf(0 ); continue; } int target=b-a; int sum=0; int step=1; int ans=0; while(sum*2+2*step ZOJ:
#includeint main() { int a,b; while(~scanf(%d%d,&a,&b)) { if(a==b) { printf(0 ); continue; } int target=b-a; int sum=0; int step=1; int ans=0; while(sum*2+2*step