牛客练习赛39——A.走方格(思维)
2019-03-07 13:14
148 查看
原题:
链接:https://ac.nowcoder.com/acm/contest/368/A
题目梗概:给出n*n的方格,求起点s,到终点e的最少步数。规定只能斜着走,上下左右移动的机会只有一次。
数据范围:1~1e18
一开始看有点懵逼,以为这是一道搜索题,但看了一下数据非常大,感觉应该是有技巧的,属于思维题,于是就自己在纸上画,不小心发现,最少步数其实就是s(sx,sy),e(ex,ey),|sx-ex|与|sy-ey|两者之间的最大者。具体解释不清楚,可以自己画个图意会一下。
代码如下:
#include<cstdio> #include<algorithm> #include<cmath> using namespace std; int main() { long long n; //1e18内数据long long是可以搞定的 long long sx,sy,ex,ey; long long sum; scanf("%lld %lld %lld %lld %lld",&n,&sx,&sy,&ex,&ey); sum=max(abs(sx-ex),abs(sy-ey)); printf("%lld\n",sum); return 0; }
提交两次才AC,因为第一次以为long long没法搞定,就用了double,但这其实是不行的,因为当数字大于15位时,double由于误差的存在会不准确。第二次改成long long才AC。
小结:
1.遇到无头绪的题可以自己写一下例子,找找思路;
2.数据非常大时,很可能是一道思维题,不能硬肝;
3.数据大的时候千万千万慎用double!!!
4.路漫漫其修远兮。6道题只AC了这么一道,还要多加油啊!
相关文章推荐
- 牛客练习赛13_C-幸运数字Ⅲ(思维)
- 牛客练习赛10 B栈和排序【思维】
- 牛客练习赛42 A.字符串(思维)
- 牛客练习赛13-D:幸运数字Ⅳ(思维)
- 牛客练习赛42 B. SHTMYCBDFTT解题报告(思维)
- 牛客练习赛13 D 题 幸运数字IV 【康拓逆展开 + 思维】
- 牛客练习赛13 A B C F【二分+思维】
- 牛客练习赛7 E 题 珂朵莉的数列 【树状数组 + 思维】
- 【牛客练习赛13】 A B C D【康拓展开】 E【DP or 记忆化搜索】 F 【思维】
- 牛客练习赛41 b 666RPG (01背包)
- CodeForces 626D Jerry's Protest+思维题
- hdu 2147 kiki's game (打表找规律奇偶性规律)棋盘沿固定方向向没有经过的方格走, 直到不能走
- 牛客练习赛3 F 监视任务 每个区间K个 树状数组+贪心
- 牛客练习赛7 购物 DP 初始化问题
- 牛客练习赛7-骰子的游戏(水)
- [Offer收割]编程练习赛39
- 牛客练习赛8 A-约数个数的和
- HihoCoder1654: XY游戏([Offer收割]编程练习赛39)(好久没写搜索)(已经超级简短了)
- 牛客练习赛9。 B 柯朵莉的值域连续端
- 牛客练习赛13 B 幸运数字Ⅱ【前缀和 + 位运算 + 二分】