【考研复试上机】C++ ACM输入输出总结

输入字符串数组

此类输入一般会先在第一行输入长度n,再在第二行输入长度为n的数组。

数组可能会用空格隔开,如

3
aaa bbb ccc
int n;
cin >> n; // 读取数组长度nstring s;
cin.ignore(); // 忽略前一个输入的换行符
getline(cin, s); // 读取整行输入vector<string> lst;
stringstream ss(s); // 使用字符串流进行处理
string token;while (getline(ss, token, ' ')) { // 使用空格分割字符串lst.push_back(token);
}

输入数字型数组

此类输入一般会先在第一行输入长度n,再在第二行输入长度为n的数组。

数组可能会用空格隔开,如

3
0 1 2
int n;
cin >> n;
vector<int> a(n);
for (int i = 0; i < n; i++) {cin >> a[i];
}

或者(可以用于处理数组长度n未知的输入)

vector<int> nums;
while (cin >> num) {nums.push_back(num);
}

输入二维数组

此类输入一般会先在第一行输入二维数组的行数n和列数吗m,再在接下来的n行输入长度为m的字符串或者数组。

字符串类型输入

5 4
aaaa
bbbb
bbcc
ddee
ffgg
int n, m;
cin >> n >> m;
vector<string> maze(n);
for (int i = 0; i < n; i++) {cin >> maze[i];
}

数字类型输入

5 4
0 0 0 0 
0 0 0 1 
1 1 1 2
2 2 2 3 
3 3 4 4 
int n, m;
cin >> n >> m;
vector<vector<int>> maze(n, vector<int>(m, 0));
for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {cin >> maze[i][j];}
}

输入树或图结构

这种输入一般会告诉你树/图结构的节点数和边数,然后输入节点编号之间的连接关系。一般而言,题目会告知输入每一条边时,哪个节点是父/子节点。如

# 有向图一共有3个节点、2条边
# 假设每条边输入时
# 第一个元素是父节点,第二个元素是子节点3
2
1 2
1 3# 表示一棵形如
#    1
#   / \
#  2   3
# 的树形结构

一般采用构建邻接表的形式来表示一个图,而邻接表可以用哈希表很方便地表示。

int n, m;
//节点数n和边数m
cin >> n >> m;
vector<vector<int> > g(n + 1);//邻接表
for (int i = 1; i <= m; i++) {int u, v;cin >> u >> v;//有向图g[u].push_back(v);
}

输入次数若干,以某个标识符作为停止输入的标志

这种输入一般存在多组输入的情况,以某一标识符作为停止输入的标志。如输入若干行,以END作为终止输入的标志

string str;
while(cin >> str) { if (str == "END") {break;}//do something
}

输入次数未知(较少使用)

输入若干行,但不知道输入次数。如

0
1
2
3
int n;
//c++ while cin读取到文件尾
while(cin >> n) {//do something
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/802589.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用AI作图,使用这个免费网站,快看我画的大鹏鸟和美女

还是大剑师兰特&#xff1a;曾是美国某知名大学计算机专业研究生&#xff0c;现为航空航海领域高级前端工程师&#xff1b;CSDN知名博主&#xff0c;GIS领域优质创作者&#xff0c;深耕openlayers、leaflet、mapbox、cesium&#xff0c;canvas&#xff0c;webgl&#xff0c;ech…

GStreamer命令行工具概览

gst-device-monitor-1.0、gst-inspect-1.0、gst-play-1.0、gst-typefind-1.0、gst-discoverer-1.0、gst-launch-1.0、gst-stats-1.0 这些命令都是 GStreamer 框架的一部分&#xff0c;它是一个用于创建流媒体应用的库集合。GStreamer 提供了一个丰富的命令行工具集合&#xff0…

中科院发布大模型想象增强法IAG,无需外部资源,想想就能变强

在人工智能领域&#xff0c;尤其是自然语言处理&#xff08;NLP&#xff09;的子领域——问答系统&#xff08;QA&#xff09;中&#xff0c;知识的获取和利用一直是推动技术进步的核心问题。近年来&#xff0c;大语言模型&#xff08;LLMs&#xff09;在各种任务中展现出了惊人…

风电场智能化转型基于ARM工控机的HDMI数据实时监控显示

全球能源结构不断调整的大背景下&#xff0c;智能电网、太阳能发电、风能发电等清洁能源领域正经历着一场由技术创新引领的深刻变革。在这场变革中&#xff0c;ARM架构的工控机凭借其出色的性能、低功耗及高度可定制化的特点&#xff0c;正在成为能源管理系统的核心组件&#x…

轴向磁通电机应用场景不断扩展 未来市场存在较大开发空间

轴向磁通电机应用场景不断扩展 未来市场存在较大开发空间 根据磁通方向不同&#xff0c;磁通电机分为轴向磁通电机、径向磁通电机两大类&#xff0c;其中轴向磁通电机的磁通方向为轴向&#xff0c;载流导体系径向放置。轴向磁通电机特点在于结构上旋转转子位于定子的侧面&#…

【算法统治世界】动态规划 个人笔记总结

&#x1f389;&#x1f389;欢迎光临&#x1f389;&#x1f389; &#x1f3c5;我是苏泽&#xff0c;一位对技术充满热情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;特别推荐给大家我的最新专栏《数据结构与算法&#xff1a;初学者入门指南》&#x1f4d8;&am…

面试字节被挂了

分享一个面试字节的经历。 1、面试过程 一面&#xff1a;上来就直接"做个题吧"&#xff0c;做完之后&#xff0c;对着简历上一个项目聊&#xff0c;一直聊到最后&#xff0c;还算比较正常。 二面&#xff1a;做自我介绍&#xff0c;花几分钟聊了一个项目&#xff…

数据库入门-----SQL基础知识

目录 &#x1f4d6;前言&#xff1a; &#x1f4d1;SQL概述&&通用语法&#xff1a; &#x1f433;DDL&#xff1a; &#x1f43b;操作数据库&#xff1a; &#x1f41e;数据类型&#xff1a; &#x1f989;操作表&#xff1a; &#x1f9a6;DML: 语法规则&#x…

浅析安全传输协议HTTPS之“S”

当前互联网&#xff0c;在各大浏览器厂商和CA厂商的推动下&#xff0c;掀起了一股HTTPS应用浪潮。为了让大家更好的了解HTTPS&#xff0c;本文给大家介绍关于HTTPS 中的S一个整体的认识。从其产生的历史背景、设计目标说起&#xff0c;到分析其协议设计结构、交互流程是如何实现…

R语言数据操纵:常用函数

目录 处理循环的函数 lapply函数 apply函数 mapply函数 tapply函数 split函数 排序的函数 sort函数与order函数 总结数据信息的函数 head函数与tail函数 summary函数 str函数 table函数 any函数 all函数 xtab函数 object.size函数 这篇文章主要介绍R语言中处理…

HarmonyOS 开发-一镜到底“页面转场”动画

介绍 本方案做的是页面点击卡片跳转到详情预览的转场动画效果 效果图预览 使用说明 点击首页卡片跳转到详情页&#xff0c;再点击进入路由页面按钮&#xff0c;进入新的路由页面 实现思路 首页使用了一种视觉上看起来像是组件的转场动画&#xff0c;这种转场动画通常是通过…

swiftui macOS实现加载本地html文件

import SwiftUI import WebKitstruct ContentView: View {var body: some View {VStack {Text("测试")HTMLView(htmlFileName: "localfile") // 假设你的本地 HTML 文件名为 index.html.frame(minWidth: 100, minHeight: 100) // 设置 HTMLView 的最小尺寸…

设计模式——适配器模式06

适配器模式 通常在已有程序中使用&#xff0c;至少有两个类的接口不兼容时&#xff0c;让相互不兼容的类能很好地合作。例如之前系统 用的Target 接口调用&#xff0c;现在要新增第三方接口Adaptee。如何进行适配&#xff0c;面向客户端提供 调用Target接口方式达到使用Adaptee…

RabbitMQ-延迟队列的使用

目录 一、使用场景 二、第一种方式&#xff1a;创建具有超时功能且绑定死信交换机的消息队列 三、第二种方式&#xff1a;创建通用延时消息 四、第三种方式&#xff1a;使用rabbitmq的延时队列插件&#xff0c;实现同一个队列中有多个不同超时时间的消息&#xff0c;并按时间…

春秋之境28512

题目说该CMS的/single.php路径下&#xff0c;id参数存在一个SQL注入漏洞。访问看一下随便点一个图片。 发现了注入点?id 那么开始查看闭合符一个 就报错了 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for th…

一起学习python——基础篇(10)

前言&#xff0c;Python 是一种面向对象的编程语言。以前大学读书的时候经常开玩笑说的一句话“如果没有对象&#xff0c;就new一个”。起因就是编程老师上课时经常说一句“首先&#xff0c;我们new一个对象”。 今天讲一下python的类和对象。 类是什么&#xff1f;它是一种用…

python工具包【1】 -- 不同操作系统路径转换

python工具包【1】 – 不同操作系统路径转换 以下的工具类的作用是根据不同的操作系统&#xff0c;将代码中的路径转换成适应操作系统的路径。 代码 import osclass Base_Tools_Cls:def BasePathConvert_func(self, path):根据不同的操作系统&#xff0c;将路径进行转换为不…

【linux】基础IO(三)

上一节基础IO我们着重理解了重定向与缓冲区&#xff0c;这节我们需要重点理解文件再磁盘中是怎样存储。以及上一节我们没有涉及到的知识。 stderr到时有什么用&#xff1f; 目录 fd-> 0 1 2&#xff1a;初步理解2怎样将错误与正确输出都打印在一个文件&#xff1f; 文件在硬…

JS变量声明var、let、const详解

JavaScript 中的变量是松散类型的&#xff0c;可以保存任何类型数据&#xff0c;变量只不过是一个名称。JavaScript 中&#xff0c;可以声明变量的关键字有var、let和const。 一、var 使用var定义变量&#xff0c;可以保存任何类型的值。若不初始化变量&#xff0c;变量会保存…

Redis基础操作与持久化

目录 引言 一、Reids工具与数据类型 &#xff08;一&#xff09;Reids工具 &#xff08;二&#xff09;Redis数据类型 1.String&#xff08;字符串&#xff09; 2.Hash&#xff08;哈希&#xff09; 3.List&#xff08;列表&#xff09; 4.Set&#xff08;集合&#xff…