TopCoder SRM 633 Div.2 500 Jumping
2014-11-27 18:44
288 查看
题意:给一个点(x,y),给一些步长delta1,delta2...deltaN,问从(0,0)严格按照步长走完N步后能否正好到达(x,y)点。
解法:其实就是判断这些线段和(0,0)-(x,y)这条线段能否构成一个多边(角?)形的问题,只需判断最长的边是否不大于于所有边长和的一半即可。
代码:
View Code
解法:其实就是判断这些线段和(0,0)-(x,y)这条线段能否构成一个多边(角?)形的问题,只需判断最长的边是否不大于于所有边长和的一半即可。
代码:
#include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> #include <algorithm> using namespace std; class Jumping { public: string ableToGet(int x, int y, vector <int> jumpLengths) { double dis = sqrt(x*x+y*y); double sum = dis,maxi = dis; for(int i=0;i<jumpLengths.size();i++) { sum += (double)jumpLengths[i]; maxi = max(maxi,(double)jumpLengths[i]); } if(sum-maxi >= maxi) return "Able"; return "Not able"; } };
View Code
相关文章推荐
- TopCoder SRM 633 Div.2 500 Jumping
- TopCoder SRM 633 Div2 Problem 500 - Jumping
- TopCoder SRM 639 Div.2 500 AliceGameEasy --乱搞
- Topcoder srm 653 div.2 500 - RockPaperScissorsMagicEasy(DP)
- TopCoder SRM 639 Div.2 500 AliceGameEasy
- TopCoder SRM 650 Div2 Problem 500 - TaroFillingAStringDiv2 (DP)
- Topcoder SRM 721 Div.2 A. FlightDataRecorder
- Topcoder SRM 619 DIv2 500 --又是耻辱的一题
- topcoder 乱作系列1 srm500 srm501 srm502
- Topcoder SRM 721 Div.2 B. RememberWordsEasy
- topcoder srm 500 div1
- Topcoder SRM 660 DIV1 500 Privateparty(数学)
- Topcoder SRM 721 Div.2 C. ApocalypseEasy
- Topcoder SRM 630 (500 floyed 暴力 _builtin_popcount())
- Topcoder SRM 648 (div.2)
- TopCoder SRM 661 Div2 Problem 500 - BridgeBuildingDiv2 (枚举 + 状态压缩)
- Topcoder SRM 503 DIV1 500 KingdomXCitiesandVillages
- Topcoder SRM 582 DIV2 500
- TopCoder SRM 642 Div.2 1000 --二分+BFS
- Topcoder SRM 654 DIV1 500 FoldingPaper2 递归 + 枚举