感谢开发与维护北京大学在线程序评测系统(POJ)的各位老师和同学为我们提供了题目的分类。
值得说明的是,这些题目有难有易,很多题目是下个学期《程序设计实习》甚至大二上学期《数据结构》的作业题,建议大家在选做的时候仔细阅读题目,并查看题目的”Status”和”Discuss”,量力而行。
1、简单计算题:熟悉C/C++基本语法。
题目名称/题目ID
鸡兔同笼 2750
棋盘上的距离 1657
校门外的树 2808
填词 2801
装箱问题 1017
平均年龄 2714
数字求和 2796
两倍 2807
肿瘤面积 2713
肿瘤检测 2677
垂直直方图 2800
谁拿了最多的奖学金2715
简单密码 2767
化验诊断 2680
密码 2818
2、字符串处理:熟悉字符数组/字符串。
题目名称/题目ID
统计字符数 2742
487-3279 2974
子串 2744
最难的问题 2975
字符串判等 2743
All in All 2976
密码 2818
W 密码 2819
古代密码 2820
词典 2804
最短前缀 2797
浮点数格式 2799
3、日期和时间处理:算法不难,但细节很多。
题目名称/题目ID
判断闰年 2733
细菌繁殖 2712
日历问题 2964
玛雅历 2965
时区间时间的转换 2966
不吉利的日期 2723
特殊日历计算 2967
4、枚举:基于已有的知识进行答案猜测。关键技巧包括建立简洁的数学模型、减小枚举的空间、采用合适的枚举顺序。
题目名称/题目ID
生理周期 2977
称硬币 2692
完美立方 2810
熄灯问题 2811
讨厌的青蛙 2812
计算对数 2739
数字方格 2747
画家问题 2813
拨钟问题 2814
反正切函数的应用 1183
5、递归
题目名称/题目ID
菲波那契数列 2753
二叉树 2756
逆波兰表达式 2694
放苹果 1664
红与黑 2816
八皇后问题 2754
木棍问题 2817
城堡 2815
分解因数 2749
迷宫 2790
算24 2787
文件结构"图" 2775
小游戏 2802
碎纸机 2803
棋盘分割 1191
棋盘问题 1321
6、模拟:难以找到公式或规律来解决,只能按照一定步骤,不停地做下去,最后才能得到答案
题目名称/题目ID
约瑟夫问题 2746
花生问题 2950
显示器 2745
排列 1833
宇航员 1835
数根 2764
武林 2785
循环数 2952
7、数制转换:熟悉不同数制之间的转换。
题目名称/题目ID
确定进制 2972
skew 数 2973
十进制到八进制 2734
八进制到十进制 2735
2进制转化为16进制2798
八进制小数 2765
8、高精度计算:C++提供的数据类型的表示范围不够时,必须自己设计相应的数据类型及计算方法。
题目名称/题目ID
大整数加法 2981
大整数乘法 2980
大整数除法 2737
麦森数 2706
计算2的N次方 2809
浮点数加法 2738
孙子问题2793
浮点数求高精度幂 2951