题目大意:
Gridland(网格国)的城市脉络是网格型的,即各城市都位于网格的四个顶点上,每个网格都是正方形的,每个网格中各定点之间都有直线路径相连(边长取1,对角线为√2(取1.41)),整个网络的规格为m × n的(即长为m个点宽为n个点),1 < m, n < 50。
现有若干测例(输入时给定),每个测例中给出m和n,求给定网络中的最短旅行售货员路径(结果截断至两位小数)。
注释代码:
/*
* Problem ID : POJ 1450 Gridland
* Author : Lirx.t.Una
* Language : GCC
* Run Time : 79 ms
* Run Memory : 388 KB
*/
#pragma GCC optimize("O2")
#include <stdio.h>
int nscn, iscn;//nScenario,iScenario,测例的总数和计数
int m, n;
int
main() {
scanf("%d", &nscn);
iscn = 0;
while ( nscn-- ) {
scanf("%d%d", &m, &n);
printf("Scenario #%d:\n", ++iscn);
printf("%d.", m * n);
//归纳总结出来的规律
//如果m、n同为奇则最短路径为m * n + 0.41
//否则为m * n
if ( m % 2 && n % 2 )
puts("41\n");
else
puts("00\n");
}
return 0;
}
无注释代码:
#pragma GCC optimize("O2")
#include <stdio.h>
int nscn, iscn;
int m, n;
int
main() {
scanf("%d", &nscn);
iscn = 0;
while ( nscn-- ) {
scanf("%d%d", &m, &n);
printf("Scenario #%d:\n", ++iscn);
printf("%d.", m * n);
if ( m % 2 && n % 2 )
puts("41\n");
else
puts("00\n");
}
return 0;
}
单词解释:
grid:n, 网格,格子,输电网(State Grid即国家电网)
compute:vt, 计算
algorithm:n, 算法
evaluate:vt, 评价,估价
polynomial:n, 多项式
exponential:n, 指数; adj, 指数的
latter:adj, 后者的
set:n, 集合
a set of:一套,一组
calculate:vt, 计算
rectangular:adj, 矩形的
provided (that):conj, 假如(相当于assume that)
neighboring:adj, 邻近的
Euclid:n, 欧几里得,欧几里得几何学
Euclidean:adj, 欧几里得(几何学)的
dimension:n, 尺寸,维度
scenario:n, 场景,情节
decimal:adj, 小数的,十进制的
digit:n, 数字