作业帮 > 综合 > 作业

PASCAL NOIP1997复赛普及组第二题

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 01:48:25
PASCAL NOIP1997复赛普及组第二题
2.将1,2,••••••,9共9个数排成下列形态的三角形.(30%)
a
b c
d e
f g h i

其中:a~i分别表示1,2,••••••,9中的一个数字,并要求同时满足下列条件:
(1)a
你怎么对这些方案进行排序呢?
题目所说叫你输出任意一个就行了,你输出"最后一种"当然可以.
再问: 那如果要输出第一种呢,请问高手怎么解决,请用PASCAL编译一下!
再答: 我不了解什么叫第一种呢? 你是指按字典排序吗? 如果是那样,搜索的时候就按字典顺序搜索,然后搜到的第一个答案就输出就行了.
再问: 输出后呢?问题还要输出总方案啊,你总不能退出程序吧,我就是想问你输出第一种后怎么办?
再答: 搜索当然继续,但是你可以写一个布尔来记录嘛.输出之后就true了那个bool,然后下次再遇到答案就只ans+1而不输出就行了.
再问: 我似乎有点懂了,可是要先输出方案总数,然后才输出第一种,请问高手,这个问题怎么解决?
再答: 我汗啊.兄弟你需要有点变量思想呀,我可以先用一个字符串或者数组记录下答案,然后最后再输出.
再问: 那不是跟我输出最后一种方案的方法相同,高手的意思是不是有了第一种方案,就记录下来,最后输出?那不是很麻烦?
再答: 是的,没有什么麻烦的,两行代码而已嘛.