专栏文章
题解:P14590 计组实验
P14590题解参与者 2已保存评论 1
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @min1t7u3
- 此快照首次捕获于
- 2025/12/01 19:10 3 个月前
- 此快照最后确认于
- 2025/12/01 19:10 3 个月前
题目大意:
给定 个实验和 个事件,事件有两种,一种是学生学某一个实验,一种是两个学生交换学科。要求最后给出 种实验的报名情况。
解题思路:
考虑到实验的个数以及事件的个数并不多,所以模拟即可,本题主要考验的是对数据结构的运用(vector),如果单独开那么大的数组一定会爆空间,所以要用到
vector 数组,相当于说你要用多少就开多少的数组,非常方便。代码如下:
CPP#include<bits/stdc++.h>
using namespace std;
vector<int>bian[300005];
int n,m;
int main() {
cin>>n>>m;
for(int i=1;i<=m;i++){//注意,是m个事件!!!
int pd;
cin>>pd;
if(pd==1){
int a,b;
cin>>a>>b;
bian[a].push_back(b);
}
else{
int a,b,c,d;
cin>>a>>b>>c>>d;
swap(bian[a][b-1],bian[c][d-1]);
}
}
for(int i=1;i<=n;i++){
cout<<bian[i].size()<<" ";
for(auto nwz:bian[i])cout<<nwz<<" ";
cout<<'\n';
}
return 0;
}
相关推荐
评论
共 1 条评论,欢迎与作者交流。
正在加载评论...