沈辰露
(沈辰露)
2024 年3 月 31 日 08:57
1
题目描述
时间限制:1s 空间限制:512M
题目描述:
给定一个 n×m 的矩阵,给定 q 组询问,每组询问输入两个数 x 和 y,表示查询矩阵 x 行 y 列的元素是什么。
输入格式:
第一行三个正整数 n, m, q;
接下来 n 行,每行 m 个正整数,表示矩阵中的元素。其中第 i 行第 j 列的元素表示 ��−1,�−1ai−1,j−1。
接下来 q 行,每行两个正整数 x, y,表示询问第 x 行第 y 列的元素是什么。保证 0≤x
样例输入:
3 4 2 1 2 3 4 5 6 7 8 9 10 11 12 1 3 0 2
样例输出:
8 3
数据规模:
1≤�,�,�≤1051≤n,m,q≤105, 1≤�⋅�≤1051≤n⋅m≤105,0<��,�<1090<ai,j<109
#include<bits/stdc++.h>
using namespace std;
vector<vector<int> > a;
int n,m,t,x,y;
int main(){
cin>>n>>m>>t;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>a[i][j];
for(int i=1;i<=t;i++){
cin>>x>>y;
cout<<a[x][y]<<endl;
}
return 0;
}
5 个赞
Syxqwq
(Loser_Syx)
2024 年3 月 31 日 09:13
2
需要在输入 n,m 时进行 resize
操作。
按照你的来说的话就是 a.resize(n+1, vectot<int>(m+1))
等同于开了一个 int a[n+1][m+1]
6 个赞
吴铭杨
(武媚娘)
2024 年4 月 4 日 03:19
5
不太建议v里套v,总感觉有点别扭,当然还是尊重个人喜好
2 个赞
林子熙1
(good)
2024 年4 月 4 日 04:16
6
我认为这道题不用vector
cin>>n>>m;int a[n+10][m+10]就可以了,但不是矩阵就不好说了
2 个赞
林子熙1
(good)
2024 年4 月 4 日 09:15
8
n<=5e5,m<=5e5,nm<=5e5 11 5e5=5.5e6放得下
3 个赞
#include <bits/stdc++.h>
using namespace std;
int main() {
int n,m,q,x,y;
cin >> n >> m >> q;
int a[n][m];
for (int i =0;i < n;i++) {
for (int j =0;j < m;j++) {
cin >> a[i][j];
}
}
for (int i =0;i < q;i++) {
cin >> x >> y;
cout << a [y] << endl;
}
return 0;
}