首页 > 其他分享 >「技巧」对拍

「技巧」对拍

时间:2024-07-24 09:28:50浏览次数:8  
标签:Jie 技巧 ++ system long Bao out

防挂分的爹

7.23 模拟赛打完:
大黄:这Noi赛制真**,T3 先交了次暴力,60pts,后来打了(他自以为的)正解,一分没有,为什么就不能取我最高分算啊

ok,对拍的用处就体现出来了:防止我们像大黄一样 * * 。

对拍是干什么的

对拍就是在防止自己代码打挂或者思路假而自己还不知道,所以自己随数造数据,用绝对正确的暴力和自己的“正解”代码各跑一遍,对比答案。

模板

造数据

随机数模板:

//<手动加范围>
#include <iostream>
#include <chrono>
#include <random>
using namespace std;
int main()
{
	// 随机数种子
	unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
	mt19937 rand_num(seed);  // 大随机数
	uniform_int_distribution<long long> dist(0, 1000000000);  // 给定范围
	cout << dist(rand_num) << endl;
	return 0;
}

对拍

#include<bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;
int main(){
	system("g++ Bao.cpp -o Bao"); //暴力代码
	system("g++ Jie.cpp -o Jie"); //“正解”代码
	system("g++ data.cpp -o data"); //数据代码
	int cnt = 0;
	while(true){
		system("./data > in.in"); //输入数据到in.in中
		//system("/usr/bin/time -f \"%es,%MKB\" ./Jie < in.in > Jie.out");
		//system("/usr/bin/time -f \"%es,%MKB\" ./Bao < in.in > Bao.out");
		system("./Jie < in.in > Jie.out");
		system("./Bao < in.in > Bao.out");
		if(system("diff Bao.out Jie.out -Z")){
			printf("Wa\n"); break;
		}
		printf("%d\n",++cnt);
	}
	return 0;
}



注:摘抄于学长的博客csdn

标签:Jie,技巧,++,system,long,Bao,out
From: https://www.cnblogs.com/YuenYouth/p/18320110

相关文章

  • 二分答案解题技巧
    二分答案有一个很显著的特征:一定存在一个临界值,单调性只是临界值的一种,而不是全部。临界值,就是寻找第一个/最后一个满足要求的值,这又分别对应着两个完全不同的二分模板,这里做题时推荐使用“第一个满足要求的值”,即对应着STL中的upper_bound,手写板对应着这篇文章里讲的模板......
  • [技巧] Linux 对拍
    造数据#include<bits/stdc++.h>usingnamespacestd;intrandom(intl,intr){ return(longlong)rand()*rand()%(r-l+1)+l;}intmain(){ freopen("in.in","w",stdout); srand(time(0)); intn=random(2,100000); cout......
  • pytest实战技巧之参数化应用
    pytest是Python中最流行的测试框架之一。它提供了丰富的功能,可以帮助我们编写高效、可靠的测试用例。其中一个重要的功能就是参数化,它可以让我们用不同的数据组合来运行同一个测试用例,从而提高测试覆盖率和效率。本文将介绍pytest参数化的基本用法和一些高级技巧,帮助读者更好地......
  • Golang异步编程方式和技巧
    Golang异步编程方式和技巧原创 腾讯程序员 腾讯技术工程  2024年04月23日18:00 广东 12人听过Golang基于多线程、协程实现,与生俱来适合异步编程,当我们遇到那种需要批量处理且耗时的操作时,传统的线性执行就显得吃力,这时就会想到异步并行处理。下面介绍一些异步......
  • docker 容器调试技巧
    有时候docker容器可能因为映射不对,或者内部文件错误等等,会出现一启动就挂掉的情况,这种往往就是容器启动入口的程序有问题,但是因为一启动就挂,有时候日志啥的都看不到。这时候就可以通过command指令去覆盖掉默认Dockerfile里面的CMD定义的入口(EntryPoint定义的也类似)。覆......
  • C# 开发技巧 轻松监控方法执行耗时
    前言MethodTimer.Fody是一个功能强大的库,可以用于测量.NET应用程序中的方法的执行时间。允许你在不修改代码的情况下,自动地测量和记录方法的执行时间。这个工具是基于.NET的weaving技术,通过修改IL(IntermediateLanguage,中间语言)代码来插入计时逻辑,从而在方法调用前后记录时......
  • ctr命令的基本使用与技巧
    k8s早1.24后放弃docker,并把containerd作为运行时组件,containerd调用链更短,组件更少,更稳定,占用节点资源更少ctr是containerd的一个客户端工具crictl是CRI兼容的容器运行时命令行接口,可以使用它来检查和调试Kubernetes节点上的容器运行时和应用程序crictl使用命名空间k8s......
  • 【Gin】精准应用:Gin框架中工厂模式的现代软件开发策略与实施技巧(下)
    【Gin】精准应用:Gin框架中工厂模式的现代软件开发策略与实施技巧(下)大家好我是寸铁......
  • IPython 使用技巧
    IPython是一个强大的交互式Pythonshell,提供了许多方便的功能,使Python编程更加高效和愉快。本文将介绍一些IPython的实用技巧,帮助开发者充分利用其功能,提高编程效率。1.基本操作和快捷键1.1启动IPython可以通过在终端输入以下命令来启动IPython:ipython启动后,你......
  • Python网络数据可视化全攻略【方法与技巧详解】
    ......