摘要:
描述 Description 布是一个n*m的网格,线只能在网格的顶点处才能从布的一面穿到另一面。每一段线都覆盖一个单位网格的两条对角线之一,而在绣的过程中,一针中连续的两段线必须分处布的两面。给出布两面的图案(实线代表该处有线,虚线代表背面有线),问最少需要几针才能绣出来?一针是指针不离开布的一次绣花过程。输入格式 Input Format 第1行两个数N和M(1<=N,M<=200)。接下来N行每行M个数描述正面。再接下来N行每行M个数描述反面。每个格子用.(表示空),/(表示从右上角连到左下角),\(表示从左上角连到右下角)和X(表示连两条对角线)表示。输出格式 Output 阅读全文
摘要:
背景 Background 欧几里德旅行商(Euclidean Traveling Salesman)问题也就是货郎担问题一直是困扰全世界数学家、计算机学家的著名问题。现有的算法都没有办法在确定型机器上在多项式时间内求出最优解,但是有办法在多项式时间内求出一个较优解。为了简化问题,而且保证能在多项式时间内求出最优解,J.L.Bentley提出了一种叫做bitonic tour的哈密尔顿环游。它的要求是任意两点(a,b)之间的相互到达的代价dist(a,b)=dist(b,a)且任意两点之间可以相互到达,并且环游的路线只能是从最西端单向到最东端,再单项返回最西端,并且是一个哈密尔顿回路。描述 D 阅读全文
摘要:
描述 Description 在一个长宽均为10,入口出口分别为(0,5)、(10,5)的房间里,有几堵墙,每堵墙上有两个缺口,求入口到出口的最短路经。 输入格式 Input Format 第一排为n(n<=20),墙的数目。接下来n排,每排5个实数x,a1,b1,a2,b2。x表示墙的横坐标(所有墙都是竖直的),a1-b1和a2-b2之间为空缺。a1、b1、a2、b2保持递增,x1-xn也是递增的。输出格式 Output Format 输出最短距离,保留2位小数。 1 #include<iostream> 2 #include<math.h> 3... 阅读全文