第1题 对角线II 时限:1s 空间:256m
输入整数 N ,输出相应方阵。
输入格式
一个整数 N 。( 0<N<10 )
输出格式
一个方阵,每个数字的场宽为 3 。
输入/输出例子1
输入:
5
输出:
0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 1 0 0 0
1 0 0 0 0
#include<bits/stdc++.h>
using namespace std;
long long a,s;
int main(){
cin>>a;
cout<<setw(3);
for(long long i=1;i<=a*a;i++)
{
cout<<i<<setw(3);
if(i%a==0)cout<<setw(3)<<endl;
}
return 0;
}
第2题 数字走向I 时限:1s 空间:256m
输入整数 N ,输出相应方阵。
输入格式
一个整数 N 。( 0<N<10 )
输出格式
一个方阵,每个数字的场宽为 3 。
输入/输出例子1
输入:
5
输出:
#include<bits/stdc++.h>
using namespace std;
long long a,s;
int main(){
cin>>a;
cout<<setw(3);
for(long long i=1;i<=a*a;i++)
{
cout<<i<<setw(3);
if(i%a==0)cout<<setw(3)<<endl;
}
return 0;
}
第3题 奇偶统计 时限:1s 空间:256m
在一个 n 行 m 列的二维数组中,有若干奇数和偶数,请编程统计出这个二维数组中,奇数和偶数分别有多少个?
输入格式
第一行是两个整数 n 和 m ( n 和 m 都是 4∼100之间的整数),代表接下来的二维数组有 n行 m 列。
接下来 n 行,每行有 m 个整数。(这些整数都是 0∼9999 之间的整数)
输出格式
两个整数用空格隔开,分别代表二维数组中奇数、偶数的个数。
输入/输出例子1
输入:
2 2
2 3
4 6
输出:
1 3
第4题 找回文数 时限:1s 空间:256mJames同学发现了在二维数组中有一些回文数,请编程找出这些回文数,并按照输入的顺序输出。
(回文数指的是这个数正过来读和反过来读是同一个数的数,比如 1、8、99、252、1221等)。
输入格式
第一行是两个整数 n 和 m (n和 m 都是 4∼100之间的整数),代表接下来的二维数组有 n 行 m 列。
接下来 n 行,每行有 m 个整数,这些整数都是 1∼9999之间的整数。
输出格式
按照输入的顺序输出满足条件的回文数,每行 1 个。
输入/输出例子1
输入:
3 3
1 22 98
34 121 110
100 210 323
输出:
1
22
121
323
#include<bits/stdc++.h>
using namespace std;
int n,a[1000],m,j,x,b,c;
int main(){
cin>>n>>c;
for(int i=1;i<=n*c;i++)
{
cin>>b;
for(m=b;m;m=m/10)
{
j++;
a[j]=m%10;
}
for(int k=1,z=j;k<=z;k++,z--)
{
if(a[k]!=a[z])
{
x=1;
break;
}
}
j=0;
if(x==0)cout<<b<<endl;
x=0;
}
return 0;
}
第5题 每个小组的最大年龄 时限:1s 空间:256m
魔法学院的同学们在操场上排成了一个 n 行 m列的队形,每行的同学属于一个小组,请问每个小组同学的最高年龄是几岁,请输出每个小组的最高年龄。 比如:如下是一个 3 行 4 列的队形,这个队形中每个数字代表了每个同学的年龄。
8 10 12 9
15 12 10 6
17 20 18 18
第一行的 4 个年龄中最高年龄是 12 岁。 第二行的 4 个年龄中最高年龄是 15 岁。 第三行的 4个年龄中最高年龄是 20 岁。
输入格式
第 1行有 2 个整数 n 和 m ,分别代表队形的行和列的值( 2≤n,m≤100 )
接下来 n 行,每行有 m 个整数,代表每个同学的年龄(每个同学的年龄的值在 1∼10000之间)
输出格式
输出 n 行,每行有一个整数,代表每个小组年龄的最大值。
输入/输出例子1
输入:
3 4
8 10 12 9
15 12 10 6
17 20 18 18
输出:
12
15
20
#include<bits/stdc++.h>
using namespace std;
int n,a,maxx=0,m;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cin>>a;
if(a>maxx)maxx=a;
}
cout<<maxx<<endl;
maxx=0;
}
return 0;
}
第6题 孤独的素数
时限:1s 空间:256m
在一个 n 行 m 列的矩阵王国中,生活着一些整数,其中一些是素数,一些不是素数。如果一个素数的上下左右、左上、右上、左下、右下相邻的数中都没有素数,我们就认为这是一个孤独的素数。
比如:一个 3行 5 列的矩阵如下。
3 8 10 9 5
6 10 2 4 13
8 8 9 6 3
这个矩阵中有 2 个素数,分别是第 1 行第 1 列的 3,和第 2 行第 3 列的 2 。
请编程计算出,一个 n 行 m 列的矩阵中有多少个孤独的素数?
输入格式
第 1 行有2 个整数 n 和m ,代表矩阵的大小(3≤n,m≤100)。
接下来 n行,每行有 m 个整数(这些整数是 1∼10000 之间的整数,含 1 和 10000 )
输出格式
输出 1个整数,代表矩阵中孤独素数的个数。
输入/输出例子1
输入:
3 5
3 8 10 9 5
6 10 2 4 13
8 8 9 6 3
输出:
2
#include<bits/stdc++.h>
using namespace std;
int n,m,a[105][105],l,h;
int f(int p)
{
int k=0;
for(int i=2;i<=sqrt(p);i++)
{
if(p%i==0){
k++;
break;
}
}
if(k==0&&p>1)
a[l][h]=0;
return 0;
}
int main(){
cin>>n>>m;
for(int i=0;i<=n+1;i++)
for(int j=0;j<=m+1;j++)
a[i][j]=-1;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>a[i][j];
for(l=1;l<=n;l++){
for(h=1;h<=m;h++){
f(a[l][h]);
}
}
int g=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(a[i][j]==0)
{
if(a[i-1][j]!=0&&a[i][j-1]!=0&&a[i+1][j]!=0&&a[i][j+1]!=0)
{
if(a[i-1][j-1]!=0&&a[i+1][j-1]!=0&&a[i-1][j+1]!=0&&a[i+1][j+1]!=0)g++;
}
}
}
}
cout<<g;
return 0;
}
第7题 找朋友
时限:1s 空间:256m
小 T喜欢和自己同龄的人交朋友,现在他排在了一个 n 行 m 列的队伍中。
请问在小 T所在的行和小 T 所在的列中,他一共能交到几个朋友?
比如:一个 6行 6 列的矩阵如下,该矩阵中每个数字代表了一个同学的年龄。
8 9 7 9 5 3
2 9 15 9 9 12
21 3 4 6 7 9
10 10 8 2 3 6
5 4 2 9 5 10
9 11 2 9 5 7
假设小 T 在第 2 行第 4 列对应的位置,也就是他的年龄是 9 岁,他所在的第 2 行除了小 T 还有 2 个人是 9 岁,他所在的列除了小 T 有 3 个人是 9 岁,因此他可以交到 5 个朋友。
输入格式
第 1 行有 2 个整数 n 和 m ,分别代表队形的行和列的值( 2≤n,m≤200 )
接下来 n 行,每行有m 个整数,代表每个同学的年龄(每个同学的年龄的值在 1∼100 之间)
接下来最后一行有 2个整数,代表小 T 在第几行第几列
输出格式
输出一个整数,代表小 T 可以交到的朋友的数量。
输入/输出例子1
输入:
6 6
8 9 7 9 5 3
2 9 15 9 9 12
21 3 4 6 7 9
10 10 8 2 3 6
5 4 2 9 5 10
9 11 2 9 5 7
2 4
输出:
5
#include<bits/stdc++.h>
using namespace std;
long long a,b,c,d,s[205][205],x=-2;
int main(){
cin>>a>>b;
for(int i=1;i<=a;i++){
for(int j=1;j<=b;j++){
cin>>s[i][j];
}
}
cin>>c>>d;
for(int j=1;j<=b;j++){
if(s[c][j]==s[c][d]){
x++;
}
}
for(int i=1;i<=a;i++){
if(s[i][d]==s[c][d]){
x++;
}
}
cout<<x<<endl;
return 0;
}
第8题 两个数相邻吗
时限:1s 空间:256m
同学们在操场上排成了一个 n 行 m 列的队形,假设这个队形中所有人年龄都不同,那么给定 2 个年龄后,请你编程判断,这 2 个年龄对应的同学是否相邻?
相邻的定义是:如果两个同学在上下左右的位置是挨在一起的,那么就算是相邻的。
比如:如下是一个 3 行 4 列的队形,这个队形中每个数字代表了每个同学的年龄。
8 2 3 4
5 6 7 1
9 10 11 12
那么这个队形中,年龄 6 和年龄 10 两个值就是相邻的。
输入格式
第 1行有 2 个整数 n 和 m ,分别代表队形的行和列的值( 2≤n,m≤200)
接下来 n 行,每行有 m 个整数,代表每个同学的年龄(每个同学的年龄的值在 1∼100 之间)
最后一行输入 2个整数,代表 2 个不同年龄的值。
输出格式
如果两个年龄的值是相邻的,请输出字符 Y ,否则请输出字符 N 。
输入/输出例子1
输入:
3 4
8 2 3 4
5 6 7 1
9 10 11 12
6 10
输出:
Y
#include<bits/stdc++.h>
using namespace std;
long long m,n,t1,t2,a[205][205];
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>a[i][j];
cin>>t1>>t2;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(a[i][j]==t1)
{
if(a[i-1][j]==t2||a[i+1][j]==t2||a[i][j+1]==t2||a[i][j-1]==t2)
{
cout<<"Y";
return 0;
}
}
}
}
cout<<"N";
return 0;
}
标签:10,输出,int,整数,二维,数组,年龄,输入
From: https://blog.csdn.net/mayuteng1/article/details/139561043