题目

锯齿矩阵是指每一行包含的元素个数不相同的矩阵,比如:

3 5 2 6 1
2 3 4
1 6 2 7

读入若干对整数 <math> <semantics> <mrow> <mo> ( </mo> <mi> x </mi> <mo separator="true"> , </mo> <mi> y </mi> <mo> ) </mo> </mrow> <annotation encoding="application&#47;x&#45;tex"> (x,y) </annotation> </semantics> </math>(x,y),表示在第 <math> <semantics> <mrow> <mi> x </mi> </mrow> <annotation encoding="application&#47;x&#45;tex"> x </annotation> </semantics> </math>x 行的末尾加上一个元素 <math> <semantics> <mrow> <mi> y </mi> </mrow> <annotation encoding="application&#47;x&#45;tex"> y </annotation> </semantics> </math>y

输出最终的锯齿数组。初始时矩阵为空。

输入格式

第一行输入两个整数 <math> <semantics> <mrow> <mi> n </mi> <mo separator="true"> , </mo> <mi> m </mi> <mo> ( </mo> <mn> 1 </mn> <mo> ≤ </mo> <mi> n </mi> <mo separator="true"> , </mo> <mi> m </mi> <mo> ≤ </mo> <mn> 10000 </mn> <mo> ) </mo> </mrow> <annotation encoding="application&#47;x&#45;tex"> n,m(1 \leq n,m \leq 10000) </annotation> </semantics> </math>n,m(1n,m10000),其中 <math> <semantics> <mrow> <mi> n </mi> </mrow> <annotation encoding="application&#47;x&#45;tex"> n </annotation> </semantics> </math>n 表示锯齿数组的行数, <math> <semantics> <mrow> <mi> m </mi> </mrow> <annotation encoding="application&#47;x&#45;tex"> m </annotation> </semantics> </math>m 表示插入的元素总数。

接下来一共 <math> <semantics> <mrow> <mi> m </mi> </mrow> <annotation encoding="application&#47;x&#45;tex"> m </annotation> </semantics> </math>m 行,每行两个整数 <math> <semantics> <mrow> <mi> x </mi> <mo separator="true"> , </mo> <mi> y </mi> <mo> ( </mo> <mn> 1 </mn> <mo> ≤ </mo> <mi> x </mi> <mo> ≤ </mo> <mi> n </mi> <mo separator="true"> , </mo> <mn> 0 </mn> <mo> ≤ </mo> <mi> y </mi> <mo> ≤ </mo> <mn> 10000 </mn> <mo> ) </mo> </mrow> <annotation encoding="application&#47;x&#45;tex"> x,y(1 \leq x \leq n, 0 \leq y \leq 10000) </annotation> </semantics> </math>x,y(1xn,0y10000),表示在第 <math> <semantics> <mrow> <mi> x </mi> </mrow> <annotation encoding="application&#47;x&#45;tex"> x </annotation> </semantics> </math>x 行的末尾插入一个元素 <math> <semantics> <mrow> <mi> y </mi> </mrow> <annotation encoding="application&#47;x&#45;tex"> y </annotation> </semantics> </math>y

输出格式

一共输出 <math> <semantics> <mrow> <mi> n </mi> </mrow> <annotation encoding="application&#47;x&#45;tex"> n </annotation> </semantics> </math>n 行,每行若干个用空格分隔的整数。

如果某行没有任何元素,则输出一个空行。

样例输入

3 12

1 3

2 2

2 3

2 4

3 1

3 6

1 5

1 2

1 6

3 2

3 7

1 1

样例输出

3 5 2 6 1

2 3 4

1 6 2 7

题解

动态数组的基本用法

#include<iostream>
#include<algorithm>
#include<vector> 
using namespace std;
int main(){
	vector<int> v[10005];
	int n,m;
	cin>>n>>m;
	int row,t;
	for(int i=1;i<=m;i++){
		cin>>row>>t;
		v[row].push_back(t);
	}
	for(int i=1;i<=n;i++){
		if(v[i].size()){
			cout<<v[i][0];
			for(int j=1;j<v[i].size();j++)
				cout<<" "<<v[i][j];
		}
		cout<<endl;
	}
	return 0;
}

返回目录,查看更多