首页 > 编程语言 >算法竞赛文件读写

算法竞赛文件读写

时间:2023-09-14 17:56:04浏览次数:37  
标签:std 竞赛 int 读写 include 算法 freopen txt

freopen

使用freopen进行文件读写,可以节约测试时重复输入的时间,用法可以参考官网std::freopen - cppreference.com。程序中使用cin/coutscanf/printf均可。

模板

#include<cstdio>

using namespace std;

int main() {
    // 提交时记得将这两行注释掉
    freopen("E:\\c\\in.txt", "r", stdin);
    freopen("E:\\c\\out.txt", "w", stdout);

    // 主要代码
    // ...

    return 0;
}

例子:CCF CSP 202006-2 稀疏向量

微信截图_20230914174029

由于题目是图片形式,测试样例的输入输出无法复制,比较麻烦,所以可以使用上面的方法进行文件读写。

// 202006-2 稀疏向量
#include<iostream>
#include<cstdio>

using namespace std;
const int N = 500010;

int u[N][2], v[N][2];
int a, b, n;
long long prod;

int main() {
    // 提交时记得将这两行注释掉
    freopen("E:\\c\\in.txt", "r", stdin);
    freopen("E:\\c\\out.txt", "w", stdout);

    scanf("%d%d%d", &n, &a, &b);
    for (int i = 1; i <= a; i++) {
        scanf("%d%d", &u[i][0], &u[i][1]);
    }

    for (int i = 1; i <= b; i++) {
        scanf("%d%d", &v[i][0], &v[i][1]);
    }

    int i = 1, j = 1;

    while (i <= a && j <= b) {
        if (u[i][0] == v[j][0]) {
            prod += u[i][1] * v[j][1];
            i++, j++;
        } else if (u[i][0] < v[j][0]) {
            i++;
        } else {
            j++;
        }
    }

    printf("%d", prod);

    return 0;
}

标签:std,竞赛,int,读写,include,算法,freopen,txt
From: https://www.cnblogs.com/catting123/p/17703056.html

相关文章

  • Lnton羚通视频分析算法平台人员闯入算法检测告警详细介绍
    Lnton羚通的算法算力云平台有以下显著特点:高性能、高可靠性、高可扩展性和低成本。用户可以通过该云平台获取高效、强大的算法计算服务,快速而灵活地运行各种复杂的计算模型和算法。该平台广泛涵盖机器学习、人工智能、大数据分析和图像识别等领域。此外,云平台还提供丰富的算法库和......
  • 【理论优化算法】基于理论和优化算法求解单目标优化问题附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 【雷电附着算法】基于雷电附着优化算法LAPO求解单目标优化问题附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 视频监控/安防监控/视频AI智能分析:小动物识别算法场景汇总
    随着人们对生态环境的关注日益提升,大家对动物保护意识也逐渐增强。旭帆科技智能分析网关小动物识别算法应运而生。除了对保护动物的识别以外,旭帆科技AI智能分析网关还可以识别常见的老鼠等动物,助力明厨亮灶监管,保卫食品安全。TSINGSEE青犀AI智能分析网关小动物识别算法,可以应用于各......
  • 文心一言 VS 讯飞星火 VS chatgpt (92)-- 算法导论8.3 5题
    五、用go语言,在本节给出的第一个卡片排序算法中,为排序d位十进制数,在最坏情况下需要多少轮排序?在最坏情况下,操作员需要记录多少堆卡片?文心一言:你提到的第一个卡片排序算法可能是指的基数排序(RadixSort)。基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数......
  • 文心一言 VS 讯飞星火 VS chatgpt (92)-- 算法导论8.3 5题
    五、用go语言,在本节给出的第一个卡片排序算法中,为排序d位十进制数,在最坏情况下需要多少轮排序?在最坏情况下,操作员需要记录多少堆卡片?文心一言:你提到的第一个卡片排序算法可能是指的基数排序(RadixSort)。基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的......
  • 优先级退金额 小算法
    优先级退金额小算法背景:用户需要退钱按照对应的规则优先级退,例如用户最大要退50,这个时候让优先级现金福利卡礼包这几个优先退其他次之。例如用户混合支付用了20现金20福利卡20礼包,这个时候要退50,应该是依次退现金20福利卡20礼包10思路首......
  • 算法回顾之一:冒泡排序
    数据结构与算法是计算机本科相关专业学生的必修课,我当年自然也是学过的,而且印象考试成绩还不错。不过近期写了一个冒泡排序算法(不使用类库实现),竟然出现了Bug,实在惭愧。仔细想想工作这几年一直都是使用Java集合框架和类库,因此感觉还是有必要再重温一下。-------------------------......
  • 算法回顾之二:直接插入排序
    算法回顾系列第二篇:直接插入排序算法-------------------------------------------直接插入排序基本原理:把n个待排序的元素看成为一个有序表和一个无序表。开始时有序表中只包含一个元素,无序表中包含有n-1个元素。排序过程中每次从无序表中取出第一个元素,将它插入到有序表中的适当......
  • C#(4):语言基本元素、类型、变量、方法、算法
     穿插算法和数据结构var类型可以根据复制自动推断变量属性    应为get或set访问器:方法名没加括号变量和方法(循环,递归)usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceClassMethodExample{classProgra......