codeforces 134B B. Pairs of Numbers(枚举+辗转相除)
2015-08-28 16:15
736 查看
题目链接:
codeforces 134B题目大意:
给出一个数对(1,1),最少用多少次能通过a=a+b或b=a+b的操作变成其中一个数是n的数对。题目分析:
暴力做,枚举数对中除n外的另一个数,然后辗转相除,每布操作一定是大的减小的,一直到1为止逆着做,然后比较得到最小次数,通过除法得到次数,通过取模得到下一种状态。AC代码:
#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> using namespace std; int n; int ans,temp; void dfs ( int a, int b ) { if ( b == 0 ) { temp = n; return; } if ( b == 1 ) { temp += a-1; return; } temp += a/b; dfs ( b , a%b ); } int main ( ) { while ( ~scanf ( "%d" , &n ) ) { ans = n-1; for ( int i = 1 ; i < n ; i++ ) { temp = 0; dfs ( n , i ); ans = min ( ans , temp ); } printf ( "%d\n" , ans ); } }
相关文章推荐
- leetcode 217: Contains Duplicate
- AIDLservice
- hdu5319 Painter
- 8.8.2 EXPLAIN Output Format
- ibaits的一个简单的完整的例子
- solr搭建企业级应用搜索(转自http://blog.csdn.net/zdshare/article/details/17756121)
- waiting for device
- The Responder Chain(响应链)
- * daemon not running. starting it now * ADB server didn't ACK * failed to start daemon *
- Go 语言sync中waitgroup使用.小实例
- Python_使用smtplib和email模块发送邮件
- OpenStack Mnaila 2015-08-27 IRC会议内容
- POJ3411--Paid Roads
- HDU 3376--Matrix Again【最大费用最大流 && 经典建图】
- notifier chain — 内核通知链
- Airbnb入华,或重蹈Uber覆辙?
- RAID5和RAID10,哪种RAID更适合你(下)
- RAID5和RAID10,哪种RAID更适合你(上)
- hadoop1 & hadoop2 fair-schduler 配置和使用
- hadoop1 & hadoop2 fair-schduler 配置和使用