11 条题解
-
3
非常简单的一道题。
我们可以不开
1000*1000
的数组,而是依次输入每个数字,如果这个数字
不等于0
,则将这个数字的行、列、数值依次输出就好了。
那这里有两个问题。
第一:怎么将行和列输出:
其实,这是一个很简单的问题,首先,我们用i
和j来嵌套循环每一行每一列的值,用if语句判
断是否不等于0,如果不等于0,直接输出这个值
的i和j。
第二:怎么保存这些输入的数字:
其实,我们发现可以用
int
类型的a来存储输入的值,如果
a!=0
则输出i,j,a。
好了,接下来就开始写代码吧。
#include<iostream> using namespace std; int main(){ int n,m,a; cin>>n>>m; for(int i = 1; i <= n; i ++ ){ for(int j = 1; j <= m; j ++ ){ cin>>a; if(a!=0){ cout<<i<<" "<<j<<" "<<a<<"\n"; } } } return 0; }
-
1
#include #include #include #include #include #include #include #include using namespace std; int n , m , a[1010][1010]; int main(); { cin >> n >> m; for (int i = 1;i <= n;i++) { for (int j = 1;j <= m;j++) { cin >> a[i][j]; if (a[i][j] != 0) { cout << i << " " << j << " " <<a[i][j] <<endl; } } } return 0; }
-
1
#include <math.h> #include <stack> #include <stdio.h> #include <iostream> #include <vector> #include <iomanip> #include <string.h> #include <algorithm> using namespace std; #define LL long long #define ull unsigned long long const int N = 1e3 + 10; const int INF = 0x3f3f3f3f; int n, m, a[N][N]; int main(void){ cin >> n>>m; for (int i=1; i<=n; i++) { for (int j=1; j<=m; j++) { cin >> a[i][j]; } } for (int i=1; i<=n; i++) { for (int j=1; j<=m; j++) { if (a[i][j]!=0){ cout << i << " " << j << " " << a[i][j] << endl; } } } return 0; }
-
1
#include<iostream> #include<cstdio> #include<cmath> #include<cstring> using namespace std; int a[10001][10001],n,m; int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>a[i][j]; } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(a[i][j]!=0){ cout<<i<<" "<<j<<" "<<a[i][j]<<endl; } } } return 0; }
-
0
6
#include <bits/stdc++.h> using namespace std; int a[1005][1005]; int n,m; int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>a[i][j]; } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(a[i][j]!=0){ cout<<i<<" "<<j<<" "<<a[i][j]<<endl; } } } return 0; }
- 1
信息
- ID
- 1073
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 5
- 标签
- 递交数
- 522
- 已通过
- 212
- 上传者