编辑: hgtbkwd | 2017-10-06 |
pku.edu.cn/~course/cs101/2007/book2/pp_list.txt http://net.pku.edu.cn/~course/cs101/2007/resource/poj_problem_list.htm 基本技能基本输入输出,算术逻辑运算,循环,数组,指针,函数基本应用进制转换,字符串处理,时间和日期处理,高精度计算基本算法简单计算题,排序,枚举,递归,计算机模拟,动态规划 * 概述 简单计算题棋盘走子步数模拟猴子选大王(约瑟夫问题) * 简单计算题 基本过程包括将一个用自然语言描述的实际问题抽象成一个计算问题给出计算过程,并编程实现将计算结果还原成对原来问题的解答关键是读懂问题搞清输入和输出数据的含义及给出的格式通过输入输出样例验证自己的理解是否正确 * 换一种眼光看世界 计算机思维对现实的抽象 while(girl.愿意等(for( day=1;
day 100,000 AND girl.感情 >
8 ) continue;
else return girl.goto( another_boy);
}} 现实世界=>(模型)=>计算机世界 检查程序中是否有错误 * POJ 1657: Distance on Chessboard 国际象棋的棋盘是黑白相间的8 * 8的方格,棋子放在格子中间.如图所示:王、后、车、象的走子规则如下:王:横、直、斜都可以走,但每步限走一格.后:横、直、斜都可以走,每步格数不受限制.车:横、竖均可以走,不能斜走,格数不限.象:只能斜走,格数不限. * POJ 1657,Distance on Chessboard (cont.) 写一个程序,给定起始位置和目标位置,计算王、后、车、象从起始位置走到目标位置所需的最少步数. Input第一行是测试数据的组数t(0 n ;
string *begin = new string[n], *end = new string[n] ;
for ( int i =
0 ;
i < n ;
i++ ){ cin >> begin[i] >> end[i] ;
} for ( int i =
0 ;
i < n ;
i++){ int x ;
int y ;
x = abs( begin[i][0] - end[i][0] ) ;
y = abs( begin[i][1] - end[i][1]delete[] begin ;
delete[] end ;
POJ
1657 if ( x ==
0 && y ==
0 cout