如何编写对拍程序?

对拍程序是什么?

当你的一个程序提交后发现答案错误了,但又不知道错哪,那么你可以找一个能够AC的程序,与你的程序输入相同的数据,并对答案进行比较。
然而,编一个测试数据通常是非常麻烦的事。我们可以编写一个对拍程序,来让计算机来做这种麻烦的事。


准备工作

  1. 你自己的源程序。在这里,我是用自己编写的归并排序程序作为演示。
    // TestSort.cpp
    
    #include <iostream>
    using namespace std;
    
    void TestSort(int * arr, int iStart, int iEnd, int iSize)
    {
    	if (iStart + 1 >= iEnd)
    		return;
    	
    	int iLeft = iStart, iMid = iStart + (iEnd - iStart) / 2, iRight = iMid;
    	
    	TestSort(arr, iLeft, iMid, iSize);
    	TestSort(arr, iMid, iEnd, iSize);
    	
    	int arrTmp[iSize + 1];
    	for (int i = iStart; iLeft < iMid || iRight < iEnd; i++)
    	{
    		if (iRight >= iEnd || (iLeft < iMid && arr[iLeft] <= arr[iRight]))
    			arrTmp[i] = arr[iLeft++];
    		else
    			arrTmp[i] = arr[iRight++];
    	}
    
    	for (int i = iStart; i < iEnd; i++)
    		a
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值