freopen 在比赛中的两个基本用法

本文介绍了一种在C++编程竞赛中利用宏定义提高效率的方法,通过预定义输入输出文件路径,使得程序在读取输入和输出数据时更加便捷。这种方法能够帮助参赛者节省比赛中的宝贵时间。

为了节省比赛时的时间,在比赛开始前我们先用宏定义

#define FI freopen("D:\\in.txt","r",stdin)
#define FO freopen("D:\\out.txt","w",stdout)
int main()
{
	int b;
	cin>>b;
	FI; //当使用了这个,那么接下来的 cin会读取 in.txt文件夹中的数据
	char a[10];
	cin>>a;
	cout<<"1433223";
	FO; //当使用了这个,那么接下来的 cout会输出到 out.txt文件夹中
	cout<<a<<' '<<b;
	return 0;
}

试例演示

在开始编程代码前看一下 in.txt 文件夹 和 out.txt 文件夹

在这里插入图片描述在这里插入图片描述

现在开始编译代码

在这里插入图片描述

输入789 然后按Enter键

在这里插入图片描述

这时我们再看一下 out.txt 文件夹

在这里插入图片描述

嗯,就是这么一回事~

河中跳房子 文件提交:无需freopen 内存限制:64 MB 时间限制:1.000 S 评测方式:普通裁判 命题人:外部导入 提交:1 解决:1 题目描述 每年奶牛们都要举办各种特殊版本的跳房子比赛,包括在河里从一个岩石跳到另一个岩石。这项激动人心的活动在一条长长的笔直河道中进行,在起点和离起点L远 (1 ≤ L≤ 1,000,000,000) 的终点处均有一个岩石。在起点和终点之间,有N (0 ≤ N ≤ 50,000) 个岩石,每个岩石与起点的距离分别为Di (0 < Di < L)。 在比赛过程中,奶牛轮流从起点出发,尝试到达终点,每一步只能从一个岩石跳到另一个岩石。当然,实力不济的奶牛是没有办法完成目标的。 农夫约翰为他的奶牛们感到自豪并且年年都观看了这项比赛。但随着时间的推移,看着其他农夫的胆小奶牛们在相距很近的岩石之间缓慢前行,他感到非常厌烦。他计划移走一些岩石,使得从起点到终点的过程中,最短的跳跃距离最长。他可以移走除起点和终点外的至多M (0 ≤ M ≤ N) 个岩石。 请帮助约翰确定移走这些岩石后,最长可能的最短跳跃距离是多少? 输入 第一行包含三个整数L, N, M,相邻两个整数之间用单个空格隔开。 接下来N行,每行一个整数,表示每个岩石与起点的距离。岩石按与起点距离从近到远给出,且不会有两个岩石出现在同一个位置。 输出 一个整数,最长可能的最短跳跃距离。 样例输入 复制 25 5 2 2 11 14 17 21 样例输出 复制 4 提示 在移除位于2和14的两个岩石之后,最短跳跃距离为4(从17到21或从21到25)。
最新发布
10-20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值