代码debug技巧----对拍

ACM对拍程序(Windows) 本程序为ACM对拍的经典代码,只需要把自己写的程序放在my.c程序中并编译为my.exe,再把标准示范程序放在std.c中,编译成std.exe,再运行duipai.cmd即可。如果遇到不同的输出,会自动停下。 立即下载

虽然挺早就知道对拍这个方法,但是一直没有去试过,也不知道怎么做。
今天早上卿爷讲了一下对拍怎么做,觉得很是涨姿势。
而且上午刚学完就派上了用场,成功地为一道不明所以WA的搜索题找到了一个错误数据,进而改对了代码,成功AC。
记录一下对拍的方法。
1:需要先写一个随机数据生成程序datamake.cpp。按照题目的输入格式,随机生成输入数据。
2:需要写一个绝对正确的程序std.cpp。可以是这道题的暴力解法,跑小数据就可以。如果是网上有题解的题目也可以用别人的AC代码。
3:你之前写的等待debug的程序mycode.cpp
4:将这几个文件都放在一个文件夹里
这里写图片描述
将三个cpp文件都先编译一遍
5:在存放这三个文件的文件夹下创建一个txt文件,随便取个名字。比如说check。然后改一下文件的后缀名:将txt换成bat,也就是check.bat
6:编辑check.bat:

:loop
datamake.exe > data.txt          //make.exe是随机数据生成器程序
std.exe < data.txt > stdout.txt   //standard.exe标程程序
D.exe < data.txt > myout.txt   //overtaking.exe自己的程序
fc /A stdout.txt myout.txt
if not errorlevel 1 goto loop
pause
:end   

一切准备就绪之后,就可以双击点开check.bat,就会不断地用两个代码测试随机生成的数据,并比较是否相同。
这里写图片描述
【参考自】http://blog.youkuaiyun.com/churehill123/article/details/19647579

C++对拍教程[项目代码] 本文详细介绍了C++中对拍的概念和实现方法。对拍是通过比较两份代码运行结果来快速发现错误的技术。教程分为两部分:首先解释对拍的定义及其在比赛中的作用;其次详细说明对拍的实现步骤,包括准备Windows电脑和代码编辑器(如VSCode)、创建三个.cpp文件(标准程序、暴力程序和生成数据程序)以及编写批处理文件(.bat)来执行对拍流程。文章还提供了01背包问题的具体代码示例,帮助读者理解如何在实际项目中应用对拍技术。 立即下载

相关推荐

python cartopy绘制扇形区域图/cartopy绘制北极部分区域

实际上,这个问题原因还是由于投影转换的问题,在set_extend时,绘制的上下边界仍然是方形、未被正确投影的边界,与我们的set_boundary存在冲突,最根本的原因还是在于cartopy对于投影计算的一些缺陷。另外我们需要指出的是:**该方法不适用于极地投影,即NorthPolarStereo,由于NorthPolarStereo本身投影特性只需一个参数,本身并不适合。我们绘制极地投影时,同样也是使用set_boundary绘制圆形边界,那么当我们想要绘制扇形时,可以通过。请根据喜好自行选择,

weixin_43750300的博客 3212

【C语言】对拍【保姆级教程】

本篇文章将通过手把手,脚把脚的方式亲手教会你三种对拍的方式。

Autumn_goose的博客 7100

小白快速上手 labelme:新手图像标注详解教程

本教程旨在帮助初次接触 labelme 的用户快速上手该软件,掌握基本操作与标注流程,为语义分割数据集做准备。

小白一枚~ 2万+

代码对拍教程

在ACM赛场上经常碰到感觉思路是对的,样例也过了,但是wa掉了,时间充足的情况下,选择换人再写一份新的代码。然后两份代码对拍。看看在哪些数据上输出了不同的结果。 对拍教程: 把自己的代码(my.cpp), 队友的代码(std.cpp), 产生数据的代码(rand.cpp)放在同一个文件夹下。 创建一个文本文件,重复名为(对拍.bat)。在文本中写入如下代码: @echo off ...

辞树 1788

ENVI遥感技术

记录2024.03.06所遇到的遥感问题

qq_44453923的博客 4330

STM32移植u8g2库(HAL库)(硬件SPI)(sh1106_128x64)

STM32移植u8g2库(HAL库)(硬件SPI)(sh1106_128x64) MCU型号为STM32F103RCT6,OLED屏为中景园电子1.3寸屏,驱动芯片为sh1106,分辨率为128x64,MDK版本为V5.34。

Master_0_的博客 6270

对拍代码(C++)

【代码】对拍代码(C++)

weixin_63300864的博客 1016

TI DSP的 FFT与IFFT库函数的使用测试

/** * Copyright (C) 2013 Guangzhou Tronlong Electronic Technology Co., Ltd. - www.tronlong.com * * @file dsplib_fft.c * * @brief Example application main file. * This application will run FFT performance test. * * @author Tronlong <support@tron.

ToneChip的专栏,一个传统的嵌入式码农,裸机编程 2676

简单写一个对拍的模板

对拍简单来说,就是2份代码通过测试不同的数据来进行比较,来找出不同的测试点或者找不出不同的测试点(90%的可能性认为2份代码效果一样),主要是暴力和优化后的代码进行对拍,但我在这里就不用暴力了,用我才写的一道题来举例。创建一个文本text.txt:(3个exe分别是我们造数据,自己写的,正解生成的exe文件)找出不同的输出,然后进行调试,如果十分钟无法找出不同,并且造数据合理,可认为大概率正确。自己第一次写的代码:(错误的代码)把后缀txt改为bat然后运行。在自己的代码里面加入。

2301_80443769的博客 635

从数据到行动:客服运营必分析的8大核心维度

服务运营正从被动响应升级为数据驱动型战略体系。客服中心的海量交互数据能精准反映服务效能、客户体验及运营短板,关键在于实现数据的可视化与可操作化。本文系统剖析了八类核心数据指标:1)客户行为数据(CSAT/NPS/投诉内容);2)通话效率指标(AHT/接通率);3)服务质量(质检体系/情绪识别);4)坐席绩效(FCR/客户评价);5)流程与知识库(转接率/工单时效);6)渠道流量分析;7)异常预警机制;8)成本收益模型。通过构建多维数据分析体系,企业可在客户全生命周期管理中实现服务升级、风险防控与资源

2202_75469062的博客 1400

《Python等级认证CCF-GESP真题解析》专栏总目录

❤️ 专栏名称:《🌸 专栏介绍:中国计算机学会GESP《CCF编程能力等级谁》Python编程(1~8级)历届真题解析。🚀 订阅专栏:订阅后可阅读专栏内所有真题解析,真题持续更新中,限时9.9元,欢迎订阅!

人生就是一个不断学习的过程 1878

C++:对拍(教程超详细)

hello大家好,这里是霍田的博客。今天我们来聊聊对拍(C++的版本)。

2301_78041762的博客 890

【Bug已解决】Failed to fetch version ECONNREFUSED 解决方案

方案适用场景推荐指数难度方案一:NODE_EXTRA_CA_CERTS代理/企业网关证书⭐⭐⭐⭐⭐低方案二:浏览器导出证书不知证书在哪⭐⭐⭐⭐中方案三:使用系统证书macOS 用户⭐⭐⭐⭐中方案四:关闭代理直连快速验证⭐⭐⭐低方案五:更新 Node.js证书列表过时⭐⭐⭐低方案六:同步系统时间时间偏差导致⭐⭐⭐低根本原因。

博客 9972

程序设计竞赛中的调试技巧

代码能力是我们在程序设计竞赛中常常谈到的一种能力,是指选手把算法用代码准确地实现的能力。 2005 年,Comars 曾经给代码能力作过一个比较准确的定义:如果我 150150 行以内的题目,1Y(提交一次就正确通过,Y 是指 Yes)率非常高,并且保持稳定;而当代码长度超过 150150 行以后,1Y 率就开始急速下降了。如果我们画出一条代码行数与 1Y 率之间的关系的曲线,150150 行就是...

qq_42403069的博客 911

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

RHI引擎实战:让DeepSeek Harness的Prompt与Skill配置化落地

在构建大模型推理应用时,prompt和技能(skill)的配置管理是工程化落地的关键。传统手写prompt方式存在改写易错、指令冲突、版本难追溯等痛点,尤其在使用DeepSeek Harness等推理框架时,此类问题会直接影响输出质量与稳定性。RHI(Reasoning Harness Interface)引擎作为一层与推理框架解耦的编排层,将提示词和技能抽象为带版本号、依赖关系和校验规则的YAML配置,通过动态组合、优先级覆盖与离线校验(validate/preview)机制,有效降低维护成本并提升安全性

weixin_33795743的博客 395

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

IDEA的debug调试技巧详解

目录 一、概述 二、debug操作分析 1、打断点 2、运行debug模式 3、重新执行debug 4、让程序执行到下一次断点后暂停 5、让断点处的代码再加一行代码 6、停止debug程序 7、显示所有断点 8、添加断点运行的条件 9、屏蔽所有断点 10、把光标移到当前程序运行位置 11、单步跳过 12、可以跳入方法内部的执行一行代码操作 13、跳出方法 14、直接执行到光标所在位置 15、在控制台改变正在debug的数据 一、概述 debug调试也叫断点调试 在程序

成为一位优秀的职场人,我在路上 4万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【日志】Debug和简单对拍代码

面向样例编程的调试 有时候写完代码需要进行Debug,还需要对拍。 下面基于vscode进行说明。 测试样例插件 CPH cph是一个很好用的插件,可以对测试样例进行快速方便测试(虽然在我这里经常出现奇奇怪怪的bug)。 不过其他条件下一般是用不了这个插件的,所以需要一点其他的测试方式。 通过可变参数Debug(c++) 从c++11之后,宏、函数模板可以支持任意参数,只需要像下面这样就可以: #define defv(...) defuse(__VA_ARGS__) template<typena

本居小铃的博客 1006

IDEA--IDEA debug断点调试技巧

目录 一、Debug开篇 二、基本用法&amp;快捷键 三、变量查看 四、计算表达式 五、智能步入 六、断点条件设置 七、多线程调试 八、回退断点 九、中断Debug Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。...

灵熙云工作室 21万+

idea代码Debug技巧

idea代码Debug技巧

皮球 1146

【开发工具系列】同事嫌我改Bug慢,原来是没掌握这些代码Debug技巧

代码Debug调试是研发工程师日常工作中必不可少的重要组成部分。进行代码Debug调试的目的无非就两个,一个是自我检查代码逻辑是否有问题,便于自己将Bug消灭在测试介入之前;另一个是进行线上问题排查定位,找到实际在跑业务的过程中出现的Bug。但是无论是哪个目的,高效率的进行代码Debug调试必定会提高我们码代码的效率以及定位问题解决问题的效率,从而实现代码白盒化自我观测。本文主要罗列了10个常用的Debug技巧,可以让我们定位代码问题事半功倍。

4032

【对拍】笔记

讲解对拍的方法

lrz_br的博客 1178

IDEA的Debug技巧

(Shift + F8) :步出(Step out),退出方法,跟(force) step into 配合使用 , 从步入的方法内退出到方法调用处,此时方法已经执行完毕,只是还没有完成赋值。Debug计算器,这是一个非常强大的debug功能,通过这个组件,几乎可以完成调试过程中大部分的事情,包括:查看实时变量、实时变量赋值、执行各种程序操作(包括数据库操作)。需要注意的是异常断点无需在具体的代码上打断点的,而是在断点详情页中直接添加,后续在执行时,如果抛出我们监听的异常,则会自动暂停在抛出异常的地方。

一杯冰美式的博客 1618

Python 代码 Debug 的 10 个实用技巧

在本文中,我们探讨了识别代码或项目中的错误的各种方法和做法。无论你是初学者还是大佬级,这些技巧对于发现错误都非常有用。我们介绍了十种不同的技巧,每种技巧都用简单的类比来解释,以帮助你掌握基础知识。

具身机器人和通用AI 2753

IDEA的高级Debug技巧

目录 Debug界面 基本用法&快捷键 智能步入 中断Debug 条件断点 多线程调试 回退方法 临时执行表达式/修改变量值 并行启动项目 Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。 通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。 Debug界面 首先看下IDEA中Debug模式下的界面。 如下是在IDEA中启动Debug模式,..

qq_55624813的博客 1万+

IDEA 2019 debug 技巧

IDEA 2019 debug 技巧 一、debug初识 先看下IDEA 2019 里的 debug 界面 1、Debugger:debug的面板,查看各类东西 2、Console:控制台,查看日志 3、Show Execution Point:单击后跳到此次debug最后执行位置。方便你一顿操作后不知道现在执行到哪个点了。当然,点击Frames最顶那行,也能回到最后位置。 4、Step Ove...

w8y56f的专栏 3768

Eclipse如何debug

目录 1. Eclipse的debug按钮 2. 练习 3.debug视图 3.1 Debug窗口 3.2 Variables窗口 3.3 Breakpoints 窗口 1. 首先介绍下Eclipse的几个debug按钮 走到下一处断点,如果没有没有下一处断电就直接运行完整个debug流程 强制停止当前...

深度 1万+
上一篇: ccnu_2016_暑期模拟赛(2)---bfs
下一篇: UVA 725(DFS)
Code_J_xer
博客等级 码龄11年 12粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值