当前位置: 首页 > news >正文

[C++] STL中的向量容器<vector>附加练习

目录

  • 讲在前面(必看)
  • 八卦阵
    • 题目描述
    • 输入格式
    • 输出格式
    • 输入输出样例
    • 数据范围
    • AC代码及要点
  • 决赛应援
    • 题目描述
    • 输入格式
    • 输出格式
    • 输入输出样例
    • 数据范围
    • AC代码及要点

讲在前面(必看)

本篇为练习篇, vector讲解篇在这里.
菜鸟食用前请做好心理准备(你懂的)

八卦阵

题目描述

n 名同学在演练八卦阵法!具体而言,n名同学分别组成了 8 个队伍,编号为 1~8,是为“八卦阵”。
然而,为使得阵法虚虚实实,同学们开始变阵啦。具体而言,一次变阵用x, y两个数表示,就是将x号队伍与y号队伍整体交换。
请输出最后的阵型吧。

输入格式

输入共m+2行:
第 1 行,两个整数n, m,为同学人数和变阵次数;
第 2 行,n个整数a[1], a[2], ..., a[n],依次为同学的编号。约定第1~8个(即a[1], a[2], ..., a[8])分别属于1~8队,第9~16个同学分别属于1~8队,以此类推;
之后m行,每行两个整数x, y,表示本次变阵将x号队伍与y号队伍整体交换。

输出格式

输出共8行:
每行依次为1,…,8号队伍的学员编号,每支队伍的学员编号输入顺序排列;保证每个队伍都有人。

输入输出样例

input:

11 2
3 4 5 1 2 8 9 10 11 6 7
1 2
3 4

output:

4 6
3 11
1
5 7
2
8
9
10

数据范围

8 ≤ n ≤ 1000;1 ≤ m ≤ 100;1 ≤ a[1], a[2], ..., a[n], 1000,000,000;1 ≤ x, y ≤ 8。

AC代码及要点

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;vector<int> q[10];int main(){int n, m;cin >> n >> m;for(int i = 0; i < n; i++){int x;cin >> x;// 分组并插入q[i % 8].push_back(x);}// 输入并交换for(int j = 0; j < m; j++){int x, y;cin >> x >> y;swap(q[x - 1], q[y - 1]);}// 循环并输出for(int i = 0; i < 8; i++){for(int j = 0; j < q[i].size(); j++){cout << q[i][j] << ' ';}cout << endl;}return 0;
}

本题最难点在于分组的方法, 其实用一个%取余符号就解决了.

决赛应援

题目描述

2 支篮球队伍进入了篮球大赛决赛!每个篮球队伍都有自己的球迷团,每位球迷都有自己的编号,约定球迷编号为奇数的支持队伍一,偶数的支持队伍二。
请根据 n 个球迷的编号,确定队伍一、二的球迷团名单。

输入格式

输入共 2 行:
第 1 行,一个整数 n,为球迷总人数;
第 2 行,n 个整数a[1], a[2], ..., a[n], 依次为球迷的编号。

输出格式

输出 2 行:
第 1 行,队伍一的球迷团编号,按输入顺序输出;
第 2 行,队伍二的球迷团编号,按输入顺序输出。

输入输出样例

input:

8
3 4 1 2 9 8 6 7

output:

3 1 9 7
4 2 8 6

数据范围

1 ≤ n ≤ 100,000;1 ≤ a[1], a[2], ..., a[n] ≤ 100,000,000。

AC代码及要点

#include <iostream>
#include <vector>
using namespace std;vector<int> v1, v2;int main()
{int n;cin >> n;for(int i = 0; i < n; i++){int x;cin >> x;if(x % 2 == 0) v2.push_back(x);else v1.push_back(x);}for(int i = 0; i < v1.size(); i++){cout << v1[i] << ' ';}cout << endl;for(int i = 0; i < v2.size(); i++){cout << v2[i] << ' ';}return 0;
}

这道题总体简单, 只要注意数据分组就好了.

相关文章:

  • 赛灵思 XCVU440-2FLGA2892E XilinxFPGA Virtex UltraScale
  • Qt 信号与槽复习
  • 【Springboot】项目Demo
  • git rebase的使用
  • 某客户ORA-600 导致数据库反复重启问题分析
  • 如何判断单片机性能极限?
  • Linux 网络配置
  • OpenHarmony - 小型系统内核(LiteOS-A)(七)
  • GPT,Bert类模型对比
  • 16-算法打卡-哈希表-两个数组的交集-leetcode(349)-第十六天
  • 使用 PM2 启动node服务,并添加监控接口
  • Linux系统之restore命令的基本使用
  • d3.js绘制组合PCA边缘分布图
  • 数据结构(6)
  • MYOJ_11700(UVA10591)Happy Number(快乐数)(超快解法:图论思想解题)
  • 阿尔特拉 EP1C12F324I7N AlteraFPGA Cyclone
  • Redis——数据结构
  • 【ELF2学习板】OpenCL程序测试
  • 逻辑删除表结构如何加唯一索引?
  • Obsidian的简单使用
  • 继71路之后,上海中心城区将迎来第二条中运量公交
  • 回望乡土:对媒介化社会的反思
  • 北洋“修约外交”的台前幕后——民国条约研究会档案探研
  • 教育部:启动实施县中头雁教师岗位计划,支撑县中全面振兴
  • 教育部基础教育教指委:稳步推进中小学人工智能通识教育
  • 卢正已任上海市司法局党委委员、副局长