首页 > 代码库 > bzoj1621[Usaco2008 Open]Roads Around The Farm分岔路口*
bzoj1621[Usaco2008 Open]Roads Around The Farm分岔路口*
bzoj1621[Usaco2008 Open]Roads Around The Farm分岔路口
题意:
n头牛在路上走,每当它们走到岔路,如果这些牛可以分为数量相差刚好为k的两群,那么它们就会分成这样的两群往前走,否则就会停下来吃草。问最后有多少群在吃草。n≤10^9,k≤1000。
题解:
暴力模拟。(好像实际上不管有多少只牛只要经过3、4个岔路后就会无法再分并停下来吃草)
代码:
1 #include <cstdio>2 int n,k,ans;3 void dfs(int n,int k){4 if(n>k&&(!((n-k)&1)))dfs((n-k)/2,k),dfs((n-k)/2+k,k);else ans++;5 }6 int main(){7 scanf("%d%d",&n,&k); dfs(n,k); printf("%d",ans); return 0;8 }
20160918
bzoj1621[Usaco2008 Open]Roads Around The Farm分岔路口*
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。