bzoj1621[Usaco2008 Open]Roads Around The Farm分岔路口*
Posted YuanZiming
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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分岔路口*的主要内容,如果未能解决你的问题,请参考以下文章
BZOJ 1621 [Usaco2008 Open]Roads Around The Farm分岔路口:分治 递归
bzoj 1621: [Usaco2008 Open]Roads Around The Farm分岔路口dfs
bzoj1621 / P2907 [USACO08OPEN]农场周围的道路Roads Around The Farm
bzoj1622[Usaco2008 Open]Word Power 名字的能量*