题目描述
给定一个二维矩阵,有数个询问,要求输出第 i 行,第 j 列的元素。
输入
第一行两个整数 n,m 表示矩阵大小
接下来 n 行,每行 m 列,描述该矩阵
第 n+1行一个整数 q 表示询问数量
接下来 q 行,每行两个整数 i,j,表示查询矩阵中第 i 行第 j 列的元素是什么
n,m,q ≤ 100000
n⋅m ≤ 100000
矩阵中任一个元素在 int 范围内
输出
q 行,每行一个整数表示矩阵中第 i 行第 j 列的元素是什么
样例输入
2 3
1 2 5
3 6 4
3
1 1
2 1
2 3
样例输出
1
3
4
#include<iostream>
#include<vector>
#define max 100001
using namespace std;
int main()
{
int m,n;
vector<vector<int> > array;
vector<int> v;
cin>>m>>n;
int a[max];
int t=0;
for(int i=0;i<m;i++)
{
v.clear();
for(int j=0;j<n;j++)
{
cin>>t;
v.push_back(t);
}
array.push_back(v);
}
int q,k1,k2,k;
cin>>q;
for(k=0;k<q;k++)
{
cin>>k1>>k2;
a[k]=array[k1-1][k2-1];//注意不是array[k1][k2]
}
for(int p=0;p<q;p++)
{
cout<<a[p];
cout<<endl;
}
return 0;
}