主题:几套ATIT大赛的题目,希望各位帮忙解决一下,谢了
艾迦号_
[专家分:0] 发布于 2011-07-28 17:34:00
谢谢各位大侠了
回复列表 (共14个回复)
沙发
艾迦号_ [专家分:0] 发布于 2011-07-29 21:54:00
难道就无人能解?
板凳
cgl_lgs [专家分:21040] 发布于 2011-07-30 21:58:00
整个压缩包实在提不起兴趣。
3 楼
cgl_lgs [专家分:21040] 发布于 2011-07-30 21:59:00
你要是摆出题目,简单说说自己的想法,或许还有人掺和一下。。。
4 楼
windy0will [专家分:2300] 发布于 2011-07-31 10:58:00
这难道就是传说中的作业贴?
5 楼
艾迦号_ [专家分:0] 发布于 2011-07-31 14:18:00
1、求解钢材切割的最佳订单。(60分)
(1)描述:编写程序,从订单中选择一组订单对钢材作切割加工,使钢材得到最佳利用,约定每一次切割会损耗固定长度的钢材(约定该值为2)。已知线型钢材总长度、订单数和各订单需要的钢材长度;
(2)输入:钢材总长度s、订单数n、各定单需要的钢材长度;
(3)输出:可以使钢材得到最佳利用的订单号、该订单需要的钢材长度。
例如:
Please input total length of the steel s: 28(回车)
Please input number of order n: 8(回车)
Please input the orders :
5(回车)
6(回车)
7(回车)
8(回车)
9(回车)
10(回车)
12(回车)
15(回车)
屏幕输出:
Choice one order 1 length=5 order 3 length=7 order 67 length=12
Choice two order 12 length=6 order 34 length=8 order 6 length=10
Press any key to quit …
2、产生无连续重复部分的字符串。(60分)
(1)描述:编写程序,产生由1,2,3这3个数字符号所构成、长度为n的字符串,并且在字符串中对于任何一个子串而言,都不会有相邻的、完全相同的子串;
(2)输入:字符串长度n;
(3)输出:无相邻重复子串的所有字符串,每个字符串换行输出。
例如:
Please input string length n: 5 (回车)
屏幕输出:
13121
13123
13212
……
6 楼
艾迦号_ [专家分:0] 发布于 2011-07-31 14:21:00
1、(50分)现有21根火柴,两人轮流取,每人每次可取走1- 4根,不可多取,也不能不取,谁取最后一根火柴则谁输。请编写一个程序进行人机对弈,要求人先取,计算机后取;计算机一方为“常胜将军”。要求程序运行效果如下图。
2、(70分)编程完成商人过河游戏:有三个商人带着三个随从和货物过河,船每次最多只能载两个人,由他们自己划行,并且如何乘船渡河的大权由商人掌握。要求保证在过河期间的任一岸上商人的人数要大于或等于随从的人数,否则随从会杀死商人抢走货物。设计一个符合上述要求的商人过河的游戏。要求程序运行效果如下图。
(1)有游戏规则提示,按任意键开始游戏,按“Q”键退出游戏;
(2)程序开始,分别提示每次从河岸这边到那边、从河岸那边到这边的商人和随从人数;
(3)如果输入错误(如一次输入的人数不得超过2个、过河的人数不得超过2个),则提示错误并且按任意键重新开始游戏;
(4)当任一河岸的商人数小于随从数时,提示商人被杀,按任意键继续游戏;
(5)当游戏成功时提示游戏成功,按任意键结束游戏。
(注:程序可能用到的库函数及函数如下:
#include <conio.h>
void window(int left, int top, int right, int bottom); 定义活动文本模式窗口,例如:window(1,1,25,80);
void textbackground(int color); 选择新的文本背景颜色(蓝颜色的值为LIGHTBLUE);
void textcolor(int color); 在文本模式中选择新的字符颜色(黄颜色的值为YELLOW);
void gotoxy(int x, int y); 在文本窗口中设置光标(x和y的值分别为行列坐标)。)
7 楼
艾迦号_ [专家分:0] 发布于 2011-07-31 14:21:00
1. 输入一个五位整数,将它反向输出。例如输入12345,输出应为54321。(15分)
2. 用两种循环结构分别编程计算1+2+3…+100的值。
运行结果为“1+2+…+100=5050”(15分)
3. 从终端读入20个数据到数组中,统计其中正数的个数,并计算它们之和。(15分)
4. 利用指针实现将5个整数输入到数组a中,然后将a逆序复制到数组b中,并输出b中各单元的值。(20分)
5. 要将五张100元的大钞票,换成等值的50元,20元,10元,5元一张的小钞票,要求换成30张小钞票,每种面值的至少一张,编程输出所有可能的换法,程序应适当考虑减少重复次数。(25分)
6. 求n以内(不包括n)同时能被3和7整除的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件out.dat中。例如若n为1000时,函数值应为:s=153.909064。(30分)
8 楼
cgl_lgs [专家分:21040] 发布于 2011-08-01 10:22:00
一题一题来,先说说你自己的想法、思路等。除非你不打算比赛,只是想凑凑热闹:)
9 楼
艾迦号_ [专家分:0] 发布于 2011-08-02 08:46:00
1、求解钢材切割的最佳订单.
这题的话,我是想写一段函数来计算比如8个数之间的所有数之和,因为我需要判断他们之和减去几个2后与指定的总长度是否相等。但是我比较头痛的是怎样去计算任意个数之间的所以和。这一段函数让我很郁闷,我有尝试用递归,但是。。。。。。
10 楼
cgl_lgs [专家分:21040] 发布于 2011-08-02 09:47:00
第一题是NP类完全难题,无法得出解析解,只能用近似的最优解。
否则当数据一多就难以完成目标期望了:)
首先,那个2不要去减,而是把总长度及每订单长度都加上这个2:)
我来回复