HDU-1701-ACMer

题目链接

http://acm.hdu.edu.cn/showproblem.php?pid=1701

解题:

好久没做题,好久没写解题思路了,连简答题都不会做了,下午的月赛挂了,我悲剧了,在此发牢骚了。o(︶︿︶)o唉

好好的一题简答题,硬是WA,浮点型的陷阱,不止一次掉进去了。刚开始看不懂题目,ACMer人数在P%和Q%之间,那么P%的人与Q%的人就不能相同,因为一个是至少,一个是至多。看代码:

[cpp] view plaincopy

  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int t,i;double a,b;
  6. cin>>t;
  7. while (t--)
  8. {
  9. cin>>a>>b;
  10. for(i=1;;i++)
  11. {
  12. if ((int)(a*i/100)<(int)(b*i/100))
  13. break;
  14. }
  15. cout<<i<<endl;
  16. }
  17. return 0;
  18. }

运行浮点型要特别注意,下面的情况经常出现。

WA

#include<stdio.h>

int main(void)

{

double p,q;

double i,k;

int n;

while(scanf("%d",&n)==1)

{

while(n--)

{

k=1.0;

scanf("%lf%lf",&p,&q);

for(i=1;;i++)

{

p=p/100;

q=q/100;

if((int)(i*p)<(int)(i*q))

{

printf("%.lf\n",i);

break;

}

}

}

}

return 0;

}

AC

#include<stdio.h>

int main(void)

{

double p,q;

double i,k;

int n;

while(scanf("%d",&n)==1)

{

while(n--)

{

k=1.0;

scanf("%lf%lf",&p,&q);

for(i=1;;i++)

{

if((int)(i*p/100)<(int)(i*q/100))

{

printf("%.lf\n",i);

break;

}

}

}

}

return 0;

}

时间: 2024-08-05 15:39:47

HDU-1701-ACMer的相关文章

hdu 1701 (Binary Tree Traversals)(二叉树前序中序推后序)

Binary Tree Traversals Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Description A binary tree is a finite set of vertices that is either empty or consists of a root r and two disjoint binary trees called

hdu 5246 超级赛亚ACMer

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5246 分析:题意就不用说了,这道题是2015百度之星初赛1的第一题,一看就是 一道贪心题,关键是如何想出谈心策略,其实要想通两点: 1>百小度的战斗力只升不要降,最坏也就是不升 2>百小度的潜能值随时间推移逐渐减小 想到这两点我们就可以想到贪心策略:我们要尽快的使百小度潜能激发出来, 以为潜能值再减小,我们只需是百小度战斗力达到最高峰,而从此战斗力不会减小, 此时使其与最强Acmer对手比较即可

HDU 5462 超级赛亚ACMer lower_bound

题目链接 : 超级赛亚ACMer 看别人AC代码学会了一个C++STL  lower_bound ForwardIter lower_bound(ForwardIter first, ForwardIter last,const _Tp& val)算法返回一个非递减序列[first, last)中的第一个大于等于值val的位置. ForwardIter upper_bound(ForwardIter first, ForwardIter last, const _Tp& val)算法返回一

HDU 1420 Prepared for New Acmer【中国剩余定理】

/* 解题思路:中国剩余定理,另外注意数据的类型,要使用__int64位的 解题人:lingnichong 解题时间:2014-08-30 06:56:35 解题体会:简单题 */ Prepared for New Acmer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 6361    Accepted Submission(s):

hdu 1420(Prepared for New Acmer)(中国剩余定理)(降幂法)

Prepared for New Acmer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 6516    Accepted Submission(s): 2450 Problem Description 集训进行了将近2个礼拜,这段时间以恢复性训练为主,我一直在密切关注大家的训练情况,眼下为止,对大家的表现相当惬意,首先是绝大部分队

杭电 HDU ACM 1420 Prepared for New Acmer

Prepared for New Acmer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 7255    Accepted Submission(s): 2729 Problem Description 集训进行了将近2个礼拜,这段时间以恢复性训练为主,我一直在密切关注大家的训练情况,目前为止,对大家的表现相当满意,首先是绝大部分队

HDU 5246 超级赛亚ACMer[模拟]

超级赛亚ACMer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2833    Accepted Submission(s): 790 Problem Description 百小度是一个ACMer,也是一个超级赛亚人,每个ACMer都有一个战斗力,包括百小度.
所谓超级赛亚人的定义,是说如果在对抗中刚好接近极限状态,那就会激发斗志,

HDU 5246-超级赛亚ACMer(二分+贪心)

超级赛亚ACMer                                                                  Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 864    Accepted Submission(s): 265 Problem Description 百小度是一个ACMer,也是一

HDU 1420 Prepared for New Acmer(数学题)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1420 Problem Description 集训进行了将近2个礼拜,这段时间以恢复性训练为主,我一直在密切关注大家的训练情况,目前为止,对大家的表现相当满意,首先是绝大部分队员的训练积极性很高,其次,都很遵守集训纪律,最后,老队员也起到了很好的带头作用,这里特别感谢为这次DP专题练习赛提供题目和测试数据的集训队队长xhd同学. 特别高兴的是,跟随集训队训练的一批新队员表现非常好,进步也比较显著,特

HDU ACM 5246 超级赛亚ACMer 贪心

分析:先把每个挑战者的战斗力升序排序,接着找出离m最近的小于m的挑战者的战斗力,然后从该处开始,对后面的每个挑战者进行处理,尽量使百小度提升战斗力后等于后一个挑战者的战斗力.如果激发战斗力后还无法打赢则不行,否则使其相等. #include<iostream> #include<algorithm> using namespace std; int main() { int T,t,n,m,k,i; __int64 a[10005]; __int64 cnt; int tmp; b