UVA 11384 - Help is needed for Dexter
2013-07-24 17:44
393 查看
看了这题,我和我的小伙伴就惊呆了!!!
被前面的麻将题啊,立方体啊搞个半死
麻将那题等平静了在来敲,还没看作者的思路^ ^
PS:输入输出流速度貌似很慢,用scanf和printf只要.0.052就出来了,而用cin,cout竟然要0.405!!!
一开始用输入流吓了我一跳,我以为效率咋这么低呢。
看了书发现方法一样,就改成了scanf,printf。。。。
以后果断不用流来做题了。
好了,不说废话
题目大意:
给定正整数N,你的任务是把序列1,2,……n中的所有书全部变为0,每次操作可以从序列中选择一个或者多个整数,同时减去一个相同的正整数。比如1,2,3可以吧2和3同时减少2,得到1,0,1。
很简单的方法:直接把后一般砍掉,那么就和前一半一样了。如1,2,3,4,5,6 一开始4,5,6砍掉4那么变成了1,2,3,0,1,2,,而这里的操作次数取决于1,2,3,。所以ans(n)=(ans/2)+1
被前面的麻将题啊,立方体啊搞个半死
麻将那题等平静了在来敲,还没看作者的思路^ ^
PS:输入输出流速度貌似很慢,用scanf和printf只要.0.052就出来了,而用cin,cout竟然要0.405!!!
一开始用输入流吓了我一跳,我以为效率咋这么低呢。
看了书发现方法一样,就改成了scanf,printf。。。。
以后果断不用流来做题了。
好了,不说废话
题目大意:
给定正整数N,你的任务是把序列1,2,……n中的所有书全部变为0,每次操作可以从序列中选择一个或者多个整数,同时减去一个相同的正整数。比如1,2,3可以吧2和3同时减少2,得到1,0,1。
很简单的方法:直接把后一般砍掉,那么就和前一半一样了。如1,2,3,4,5,6 一开始4,5,6砍掉4那么变成了1,2,3,0,1,2,,而这里的操作次数取决于1,2,3,。所以ans(n)=(ans/2)+1
#include<iostream> #include<cstdio> using namespace std; int ans(int n) { return n==1? 1:ans(n/2)+1; } int main() { int n; while(scanf("%d",&n)!=EOF) { printf("%d\n",ans(n)); } }
相关文章推荐
- UVA 11384(p25)----Help is needed for Dexter
- [UVa 11384]Help is needed for Dexter
- UVa 11384 Help is needed for Dexter 正整数序列
- UVA 11384 Help is needed for Dexter (找规律)
- UVa 11384 - Help is needed for Dexter
- UVa 11384 Help is needed for Dexter 正整数序列
- Uva 11384 Help is needed for Dexter
- UVa 11384 - Help is needed for Dexter
- Uva11384 Help is needed for Dexter
- uva 11384 - Help is needed for Dexter
- Uva 11384 Help is needed for Dexter
- 正整数序列 (Help is needed for Dexter, UVa 11384)
- Uva 11384 - Help is needed for Dexter
- help is needed for dexter uva 11384
- UVa 11384 - Help is needed for Dexter (正整数序列)
- UVA 11384 - Help is needed for Dexter(递归)
- UVA 11384 Help is needed for Dexter
- UVA 11384 - Help is needed for Dexter(递归)
- UVA - 11384 Help is needed for Dexter 水题
- UVA 11384 Help is needed for Dexter(问题转化 递归)