//点数
#define N 10

//点间距
int D[N];

//A1到每个Ai的距离
int A1ToX[N];

void preprocess() {
	srand(time(0));

	//随机分配每个点间的距离
	for (int i = 0; i < N; ++i) {
		D[i] = rand() % (RAND_MAX + 1) * N;
	}

	/*A1ToX[i]:A1到每个点Ai的距离*/
	//A1到A2的距离
	A1ToX[1] = D[1];
	for (int i = 2; i < N; ++i) {
		A1ToX[i] = A1ToX[i - 1] + D[i];
	}

	//全长
	A1ToX[0] = A1ToX[N - 1] + D[0];
}

int getDistance(int i, int j) {
	int disI = i == 0 ? 0 : A1ToX[i - 1];
	int disJ = j == 0 ? 0 : A1ToX[j - 1];
	int dis = abs(disI - disJ);
	//环形公路,每个点存在2条路径,取最短的
	return (dis > A1ToX[0] / 2) ? A1ToX[0] - dis : dis;
}

最新文章

  1. tyvj1008 传球游戏
  2. 使用脚本自动配置matlab安装libsvm和随机森林工具箱
  3. java 8种基本数据类型的默认值及所占字节数
  4. js window.open() 父窗口与子窗口的互相调用(未必有用)
  5. android中include 的使用讲解
  6. Bootstrap3.0学习第十二轮(导航、标签、面包屑导航)
  7. html轮播效果的实现
  8. 【leetcode❤python】171. Excel Sheet Column Number
  9. HDU 5059 Harry And Biological Teacher
  10. thymeleaf模板引擎shiro集成框架
  11. 用 Lua 实现一个微型虚拟机-基本篇
  12. 音频压缩编码 opus 附完整C++代码示例
  13. (56)Wangdao.com第八天_JavaScript 流程控制语句
  14. JS设置、获取和取消Cookie
  15. 帝国cms面包屑导航的首页链接锚文本改成关键字
  16. Java基础(basis)-----关键字this和super的作用
  17. opencv3.1线性可分svm例子及函数分析
  18. onsaveInstanceState有关问题
  19. OD之去除nag弹窗(四)
  20. ActiveMQ HelloWorld入门

热门文章

  1. [WC 2005]友好的生物
  2. [Codeforces 448C]Painting Fence
  3. [SDOI2008]Cave 洞穴勘测
  4. [SCOI2016]背单词
  5. [HNOI2002]跳蚤
  6. bzoj1499[NOI2005]瑰丽华尔兹 单调队列优化dp
  7. Django中Form的基本使用
  8. css3中-moz、-ms、-webkit各什么意思
  9. Linux学习之CentOS(五)--CentOS下VMware-Tools安装
  10. vue中的eventBus