当前位置: 首页 > news >正文

专注邯郸建设手机网站曲靖seo建站

专注邯郸建设手机网站,曲靖seo建站,网站建设推广报价单,微信开发商是谁GitHub - jzplp/aoapc-UVA-Answer: 算法竞赛入门经典 例题和习题答案 刘汝佳 第二版 由于书上给了思路,所以做起来并不难。 即使超时,因为数据量不大(1000个), 我们也可以直接打表直接返回结果。 但是如果想不打表完…

GitHub - jzplp/aoapc-UVA-Answer: 算法竞赛入门经典 例题和习题答案 刘汝佳 第二版

由于书上给了思路,所以做起来并不难。

即使超时,因为数据量不大(1000个), 我们也可以直接打表直接返回结果。

但是如果想不打表完成题目,那么就需要使用思路中给出的各种优化方案,不然很容易超时。

我一开始用set作为存储已存在的数字,但还是超时,后面改成用数组存储AC了。

AC代码

#include<stdio.h>
#include<string.h>
#include<math.h>int n, maxCount;
int setArr[1010];
int maxV;int getMin(int a, int b) {if(a > b) return b;return a;
}// 递归遍历 
bool dfs(int count, int pre, int subCount) {if(pre == n) return true;if(count >= maxCount) return false;if(maxV * (1 << (maxCount - count)) < n) return false;if(subCount > 2) return false;int value, preMaxV, i;if(pre < n) {for(i = getMin(maxV, n); i > 0; --i) {if(!setArr[i]) continue;value = i + pre;if(value > 1000 || (value > n && maxV > n)) continue;if(setArr[value]) continue;setArr[value] = 1;preMaxV = maxV;if(value > maxV) maxV = value;if(dfs(count+1, value, subCount)) return true;setArr[value] = 0;maxV = preMaxV; }}if(subCount == 2) return false;for(i = maxV; i > 0; --i) {if(!setArr[i]) continue;value = abs(i - pre);if(value == 0 || value > n) continue;if(value == n) return true;if(setArr[value]) continue;setArr[value] = 1;if(dfs(count+1, value, subCount + 1)) return true;setArr[value] = 0;}return false;
}// 初始化 
int computed() {if(n == 1) return 0;for(maxCount = 1; maxCount < 20; ++maxCount) {memset(setArr, 0, sizeof(setArr));setArr[1] = 1;maxV = 1;if(dfs(0, 1, 0)) return maxCount;}
}int main() {while(scanf("%d", &n) == 1 && n > 0) {printf("%d\n", computed());}return 0;
}
http://www.dt0577.cn/news/19435.html

相关文章:

  • 怎样做旅游视频网站seo简单优化
  • 网站备案 几年品牌推广方式都有哪些
  • PS做图标兼职网站微信上怎么做广告推广
  • 网站建设公司 南宁注册一个公司网站需要多少钱
  • 上海网站建设在线企业网站的作用和意义
  • 龙岩市住房和城乡建设厅网站首页关键词林俊杰在线听免费
  • 学做网站需要学那些程序上首页的seo关键词优化
  • 做企业网站设计方案企业官网网站
  • 建设培训网站建设企业微信营销管理软件
  • 在centos下安装wordpressseo文章优化方法
  • 个人app定制什么是搜索引擎优化seo
  • 公司网站上线的通知关键词挖掘网站
  • 高职专业建设管理网站营销计划书7个步骤
  • 全网视频合集网站建设网站开发怎么做
  • 优良网站百度推广找谁做靠谱
  • 苏州做网站哪家好百度推广怎么做
  • dw做的网站能搜到吗国内建站平台有哪些
  • 山西省网站建设制作aso排名优化
  • 网站中英文切换前端推广普通话内容100字
  • 精美图片做网站上哪儿去找图网络优化是干什么的
  • 南京注册公司郑州seo优化公司
  • 哪些网站做平面单页好看淘宝关键词查询
  • 自己做网站 知乎软文广告案例500字
  • 网站后台功能需求文档太原网站关键词排名
  • 餐饮手机微网站怎么做江苏提升关键词排名收费
  • 2015做网站前景网络推广公司怎么找客户
  • 网站文章伪原创如何做线下推广活动策划方案
  • 网站咨询窗口怎么做谷歌下载官网
  • 做网站按页面收费北京债务优化公司
  • 深圳李日光建设公司网站seo搜索