一些可能没什么用的整理(持续更新)

\(1.\) 用 special judge 将下发 spj.cpp 按 F12 运行一下, win+R 打开 cmd,将 spj.exe 拖进去,再将 输入文件 1.in 拖进去, 再将 自己的 输出文件 my.out 拖进去,再将 输出文件 1.out 拖进去,按enter ,检查是否正确。

\(2.\) 手打的对拍

#include<bits/stdc++.h>
using namespace std;
int main(){
	int i=0;
	while(1){
		printf("%d\n",++i);
		system("make.exe");
		system("std.exe");
		system("my.exe");
		if(system("fc std.out my.out")) break;
	}
	return 0;
}

\(3.\) 如何检查自己程序的内存,防止MLE,可以试试如下代码,可以输出所用的空间,单位MB。

#include<bits/stdc++.h>
using namespace std;
bool _u;
int read(){
	int x=0,f=1;char ch=getchar();
	while(ch<'0'||ch>'9'){if(ch=='-')f=-f;ch=getchar();}
	while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}
	return x*f;
}
//一些全局变量和一些函数 
signed main(){
	//你的程序 
	bool _v;
	fprintf(stderr,"%.3lf\n",abs(&_u-&_v)/1048576.0);
	//这是为了防止你没注释它(1048576=1024*1024)
	//fprintf 在 freopen 输入输出时不会输出 
	return 0;
}

\(4.\) c++ 11 手动开栈,有些时候 dfs 时,输入数据太大,程序会死掉,之前一直以为是数组越界之类的错误,没想到是本地栈空间开太小了,所以程序运行较大数据时,我们可以手动开栈,就可以了。

具体操作是将菜单栏的工具打开,再打开编译选项,在编译器中输入-Wl,--stack=10000000 (这个数字是栈空间的大小)。再勾选编译时加入以下命令,再点确定就行了。

posted @ 2023-10-19 21:15  Aurora-JC  阅读(8)  评论(0编辑  收藏  举报