Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

苦逼了三天,终于ac了,遇到的bug和测试数据

Posted by 20081681 at 2012-10-23 13:13:23 on Problem 1193
经检验知:测试数据中没有P=0的情况
wa的几个bug:
1、释放时该插入空闲链表中间时,判断有误
2、插入链表尾部时,错误的插在了最后一个元素的地方,这样实际上是插在最后元素的前面了,应该用尾插push_back()或者插在freeList.end()的位置上即可
3、在释放T时刻之前的进程时,把T错当成了当前时刻传给了AllocateForWaitQ(),应该传正在释放的时间
4、最明显又调试最久的bug,在输入过程中释放时,没有将某一时刻该释放的释放完就给等待队列的分配了,之所以错了很久,这跟造测试数据不全面有关。

调试经验:打印过程语句、草稿纸上画分配表格、ac代码和自己的代码加造测试数据代码一起放在一个控制台代码中对比运行,直到两个代码有不同输出为止,保存此时的测试数据,进行分析。用到重定位freopen读写文件,就不用修改代码,很方便测试。

数据一:
16
9 2 1
9 2 3
9 2 9
10 3 2
10 9 6
10 13 9
10 2 4
10 4 9
10 10 10
10 15 3
10 16 6
10 3 2
10 13 9
0 0 0

61
6

数据二:
30
9 27 9
9 4 2
10 1 7
10 2 7
10 9 1
10 14 3
10 24 10
10 12 2
10 11 10
10 14 6
10 25 8
10 17 4
10 17 6
10 22 3
10 16 3
10 30 8
10 8 1
10 6 8
10 28 3
10 1 4
10 8 4
10 22 1
10 26 7
10 29 2
10 19 5
10 26 1
10 29 5
10 6 6
10 6 10
10 16 2
10 18 4
10 30 2
10 26 1
0 0 0

127 
30

数据三:
21
2 20 6
3 19 2
3 12 9
15 6 4
20 2 9
0 0 0

29 
2

数据四:
23
3 16 2
4 12 0
5 17 25
6 1 28
0 0 0


34
2

数据五:
8
2 1 1
2 1 1
3 7 2
3 7 2
3 2 2
5 3 2
5 2 2
6 4 2
6 6 2
6 1 2
6 8 1
7 1 2
7 2 2
8 3 1
8 1 2
8 1 2
9 1 1
9 2 2
9 1 2
10 7 2
0 0 0

18 
13

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator