2023-2024-2 高级语言程序设计-二维数组

news2024/11/26 23:34:16

7-1 矩阵运算

给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。

输入格式:

输入第一行给出正整数n(1<n≤10);随后n行,每行给出n个整数,其间以空格分隔。

输出格式:

在一行中给出该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。

输入样例:

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

输出样例:

35
#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,i,j,a[15][15],s=0;
    cin>>n;
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++)
            cin>>a[i][j];
    }
    for(i=1;i<n;i++){
        for(j=1;j<n;j++)
            if(i+j!=n+1)
            s+=a[i][j];
    }
    cout<<s;
return 0;
}

 7-2 方阵循环右移

本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。

输入格式:

输入第一行给出两个正整数m和n(1≤n≤6)。接下来一共n行,每行n个整数,表示一个n阶的方阵。

输出格式:

按照输入格式输出移动后的方阵:即输出n行,每行n个整数,每个整数后输出一个空格。

输入样例:

2 3
1 2 3
4 5 6
7 8 9

输出样例:

2 3 1 
5 6 4 
8 9 7 
#include<bits/stdc++.h>
using namespace std;
int main(){
    int m,n,i,j,a[10][10];
    cin>>m>>n;
    m=m%n;
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++)
            cin>>a[i][j];
    }
    for(i=1;i<=n;i++){
        for(j=n-m+1;j<=n;j++)
            cout<<a[i][j]<<' ';
        for(j=1;j<=n-m;j++)cout<<a[i][j]<<' ';
        cout<<endl;
    }
    
return 0;
}

 

7-3 判断上三角矩阵

上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。

本题要求编写程序,判断一个给定的方阵是否上三角矩阵。

输入格式:

输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出n个整数,其间以空格分隔。

输出格式:

每个矩阵的判断结果占一行。如果输入的矩阵是上三角矩阵,输出“YES”,否则输出“NO”。

输入样例:

3
3
1 2 3
0 4 5
0 0 6
2
1 0
-8 2
3
1 2 3
1 4 5
0 -1 6

输出样例:

YES
NO
NO
#include<bits/stdc++.h>
using namespace std;
int main(){
     int t,n,i,j;
    cin>>t;
    while(t--){
        cin>>n;
        int a[15][15],x=0;
        for(i=1;i<=n;i++){
            for(j=1;j<=n;j++)
                {
                cin>>a[i][j];
                if(i>j&&a[i][j]!=0)x=1;
                }
        }
        if(x)cout<<"NO\n";
        else cout<<"YES\n";
    }
return 0;
}

 7-4 求矩阵各行元素之和

本题要求编写程序,求一个给定的m×n矩阵各行元素之和。

输入格式:

输入第一行给出两个正整数m和n(1≤m,n≤6)。随后m行,每行给出n个整数,其间

以空格分隔。

输出格式:

每行输出对应矩阵行元素之和。

输入样例:

3 2
6 3
1 -8
3 12

输出样例:

9
-7
15
#include<bits/stdc++.h>
using namespace std;
int main(){
      int m,n,i,j,a[10][10];
    cin>>m>>n;
    for(i=1;i<=m;i++){
        int s=0;
        for(j=1;j<=n;j++){
            cin>>a[i][j];
            s+=a[i][j];
        }
        cout<<s<<endl;
    }
return 0;
}

 

7-5 找鞍点

一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。

本题要求编写程序,求一个给定的n阶方阵的鞍点。

输入格式:

输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。

输出格式:

输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩阵至多存在一个鞍点。

输入样例1:

4
1 7 4 1
4 8 3 6
1 6 1 2
0 7 8 9

输出样例1:

2 1

输入样例2:

2
1 7
4 1

输出样例2:

NONE
#include<bits/stdc++.h>
using namespace std;
int main(){
       int n,i,j,k,a[10][10],y=0;
    cin>>n;
    for(i=0;i<n;i++){
        for(j=0;j<n;j++)
            cin>>a[i][j];
    }
    for(i=0;i<n;i++){
        int max=a[i][0];
        for(j=0;j<n;j++)
        {
            if(a[i][j]>=max){max=a[i][j];k=j;}
        }
        int min=max;
        for(int x=0;x<n;x++){
            if(a[x][k]<min){min=a[x][k];}
        }
        if(max==min){cout<<i<<' '<<k;y=1;break;}
    }
if(y==0)cout<<"NONE";
return 0;
}

 7-6 求矩阵的局部极大值

给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵的局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。

输入格式:

输入在第一行中给出矩阵A的行数M和列数N(3≤M,N≤20);最后M行,每行给出A在该行的N个元素的值。数字间以空格分隔。

输出格式:

每行按照“元素值 行号 列号”的格式输出一个局部极大值,其中行、列编号从1开始。要求按照行号递增输出;若同行有超过1个局部极大值,则该行按列号递增输出。若没有局部极大值,则输出“None 总行数 总列数”。

输入样例1:

4 5
1 1 1 1 1
1 3 9 3 1
1 5 3 5 1
1 1 1 1 1

输出样例1:

9 2 3
5 3 2
5 3 4

输入样例2:

3 5
1 1 1 1 1
9 3 9 9 1
1 5 3 5 1

输出样例2:

None 3 5
#include<bits/stdc++.h>
using namespace std;
int main(){
       int m,n,i,j,x=0,a[25][25];
    cin>>m>>n;
    for(i=1;i<=m;i++){
        for(j=1;j<=n;j++){
            cin>>a[i][j];
        }
    }
    for(i=2;i<m;i++){
        for(j=2;j<n;j++){
if(a[i][j]>a[i-1][j]&&a[i][j]>a[i+1][j]&&a[i][j]>a[i][j-1]&&a[i][j]>a[i][j+1])
{cout<<a[i][j]<<' '<<i<<' '<<j<<endl;x=1;}
        }
    }
    if(x==0)cout<<"None "<<m<<' '<<n;
return 0;
}

 

7-7 打印杨辉三角

本题要求按照规定格式打印前N行杨辉三角。

输入格式:

输入在一行中给出N(1≤N≤10)。

输出格式:

以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。

输入样例:

6

输出样例:

        1
       1   1
      1   2   1
     1   3   3   1
    1   4   6   4   1
   1   5  10  10   5   1
#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,i,j,a[15][15]={0};
    cin>>n;
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            if(i==j||j==1)a[i][j]=1;
            else a[i][j]=a[i-1][j-1]+a[i-1][j];
        }
    }
    for(i=1;i<=n;i++){
        for(j=1;j<=n-i;j++)cout<<' ';
        for(j=1;j<=n;j++){
            if(a[i][j])printf("%4d",a[i][j]);
        }
        cout<<endl;
    }
return 0;
}

 

7-8 螺旋方阵

所谓“螺旋方阵”,是指对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里。本题要求构造这样的螺旋方阵。

输入格式:

输入在一行中给出一个正整数N(<10)。

输出格式:

输出N×N的螺旋方阵。每行N个数字,每个数字占3位。

输入样例:

5

输出样例:

  1  2  3  4  5
 16 17 18 19  6
 15 24 25 20  7
 14 23 22 21  8
 13 12 11 10  9

 

7-9 简易连连看

本题要求实现一个简易连连看游戏模拟程序。

给定一个2N×2N的方阵网格游戏盘面,每个格子中放置一些符号。这些符号一定是成对出现的,同一个符号可能不止一对。程序读入玩家给出的一对位置(x1​,y1​)、(x2​,y2​),判断这两个位置上的符号是否匹配。如果匹配成功,则将两个符号消为“*”并输出消去后的盘面;否则输出“Uh-oh”。若匹配错误达到3次,则输出“Game Over”并结束游戏。或者当全部符号匹配成功,则输出“Congratulations!”,然后结束游戏。

输入格式:

输入在一行中给一个正整数N(<5)。随后2N行,每行2N个大写英文字母(其间以1个空格分隔),表示游戏盘面。盘面之后给出一个正整数K,随后K行,每行按照格式“x1​ y1​ x2​ y2​”给出一个玩家的输入。注意格子的行、列编号是从1到2N。

输出格式:

根据玩家的每一步输入,输出相应的结果。输出盘面时注意,每行字符间以1个空格分隔,行末不得有多余空格。

输入样例1:

2
I T I T
Y T I A
T A T Y
I K K T
11
1 1 1 3
4 2 4 3
3 1 4 2
2 2 1 2
3 1 2 4
4 4 3 1
2 1 3 4
3 3 1 4
4 1 2 3
2 4 3 2
1 1 2 2

输出样例1:

* T * T
Y T I A
T A T Y
I K K T
* T * T
Y T I A
T A T Y
I * * T
Uh-oh
* * * T
Y * I A
T A T Y
I * * T
Uh-oh
* * * T
Y * I A
* A T Y
I * * *
* * * T
* * I A
* A T *
I * * *
* * * *
* * I A
* A * *
I * * *
* * * *
* * * A
* A * *
* * * *
Congratulations!

输入样例2:

2
I T I T
Y T I A
T A T Y
I K K T
5
1 1 4 4
1 1 2 3
1 1 2 3
2 2 4 1
2 2 3 3

输出样例2:

Uh-oh
* T I T
Y T * A
T A T Y
I K K T
Uh-oh
Uh-oh
Game Over
#include<bits/stdc++.h>
using namespace std;
int main(){
     int n,i,j,k,x1,y1,x2,y2,s=0,m=0;char a[10][10];
    cin>>n;
    getchar();
    for(i=1;i<=2*n;i++){
        for(j=1;j<=2*n;j++)cin>>a[i][j];
    }
    cin>>k;
    while(k--){
        cin>>x1>>y1>>x2>>y2;
        if(a[x1][y1]==a[x2][y2]&&a[x1][y1]!='*'){
            m++;
            if(m==2*n*n){cout<<"Congratulations!";break;}
            a[x1][y1]=a[x2][y2]='*';
            for(i=1;i<=2*n;i++){
        for(j=1;j<=2*n;j++){
            if(j!=1)cout<<' ';
            cout<<a[i][j];
        }
                cout<<endl;
    }
        }
        else {
            cout<<"Uh-oh\n";
            s++;
        }
        if(s==3){cout<<"Game Over";break;}
    }
    
return 0;
}

 7-10 矩阵A乘以B

给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘。即若A有Ra​行、Ca​列,B有Rb​行、Cb​列,则只有Ca​与Rb​相等时,两个矩阵才能相乘。

输入格式:

输入先后给出两个矩阵A和B。对于每个矩阵,首先在一行中给出其行数R和列数C,随后R行,每行给出C个整数,以1个空格分隔,且行首尾没有多余的空格。输入保证两个矩阵的R和C都是正数,并且所有整数的绝对值不超过100。

输出格式:

若输入的两个矩阵的规模是匹配的,则按照输入的格式输出乘积矩阵AB,否则输出Error: Ca != Rb,其中Ca是A的列数,Rb是B的行数。

输入样例1:

2 3
1 2 3
4 5 6
3 4
7 8 9 0
-1 -2 -3 -4
5 6 7 8

输出样例1:

2 4
20 22 24 16
53 58 63 28

输入样例2:

3 2
38 26
43 -5
0 17
3 2
-11 57
99 68
81 72

输出样例2:

Error: 2 != 3

 

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a,b,c,d,i,j,x[105][105],y[105][105];
    cin>>a>>b;
    for(i=0;i<a;i++){
        for(j=0;j<b;j++)
            cin>>x[i][j];
    }
    cin>>c>>d;
    for(i=0;i<c;i++){
        for(j=0;j<d;j++)
            cin>>y[i][j];
    }
    if(b!=c)cout<<"Error: "<<b<<" != "<<c;
    else {
        cout<<a<<' '<<d<<endl;
        for(i=0;i<a;i++){
            for(j=0;j<d;j++){
                int s=0;
                if(j)cout<<' ';
                for(int k=0;k<b;k++)
                s+=x[i][k]*y[k][j];
                cout<<s;
            }
            cout<<endl;
        }
    }
return 0;
}

7-11 矩阵转置

从键盘输入一个m(2<=m<=6)*n(2<=n<=6)阶的矩阵,编程输出它的转置矩阵。

输入格式:

在第一行输入矩阵的行数m和列数n的值,在第二行按照矩阵格式输入矩阵的数据,同行数据之间用空格隔开。

输出格式:

矩阵格式输出,同行数据之间用一个空格隔开。

输入样例:

3 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5

输出样例:

1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
#include<bits/stdc++.h>
using namespace std;
int main(){
    int m,n,i,j,a[10][10];
    cin>>m>>n;
    for(i=1;i<=m;i++){
        for(j=1;j<=n;j++)
            cin>>a[i][j];
    }
    for(j=1;j<=n;j++){
        for(i=1;i<=m;i++){
            if(i!=1)cout<<' ';
            cout<<a[i][j];
        }
        cout<<endl;
    }
return 0;
}

 7-12 刮刮彩票

“刮刮彩票”是一款网络游戏里面的一个小游戏。如图所示:

-362960_55cb6a89bf693.png

每次游戏玩家会拿到一张彩票,上面会有 9 个数字,分别为数字 1 到数字 9,数字各不重复,并以 3×3 的“九宫格”形式排布在彩票上。

在游戏开始时能看见一个位置上的数字,其他位置上的数字均不可见。你可以选择三个位置的数字刮开,这样玩家就能看见四个位置上的数字了。最后玩家再从 3 横、3 竖、2 斜共 8 个方向中挑选一个方向,方向上三个数字的和可根据下列表格进行兑奖,获得对应数额的金币。

数字合计获得金币数字合计获得金币
610,0001672
73617180
872018119
93601936
108020306
11252211,080
1210822144
1372231,800
1454243,600
15180

现在请你写出一个模拟程序,模拟玩家的游戏过程。

输入格式:

输入第一部分给出一张合法的彩票,即用 3 行 3 列给出 0 至 9 的数字。0 表示的是这个位置上的数字初始时就能看见了,而不是彩票上的数字为 0。

第二部给出玩家刮开的三个位置,分为三行,每行按格式 x y 给出玩家刮开的位置的行号和列号(题目中定义左上角的位置为第 1 行、第 1 列。)。数据保证玩家不会重复刮开已刮开的数字。

最后一部分给出玩家选择的方向,即一个整数: 1 至 3 表示选择横向的第一行、第二行、第三行,4 至 6 表示纵向的第一列、第二列、第三列,7、8分别表示左上到右下的主对角线和右上到左下的副对角线。

输出格式:

对于每一个刮开的操作,在一行中输出玩家能看到的数字。最后对于选择的方向,在一行中输出玩家获得的金币数量。

输入样例:

1 2 3
4 5 6
7 8 0
1 1
2 2
2 3
7

输出样例:

1
5
6
180
#include<bits/stdc++.h>
using namespace std;
int main(){
    int i,j,a[5][5],x,y,z,s=0,c[10]={0},d;
    int b[30]={0,0,0,0,0,0,10000,36,720,360,80,252,108,72,54,180,72,180,119,36,306,1080,144,1800,3600};
    for(i=1;i<=3;i++){
        for(j=1;j<=3;j++)
            {
            cin>>a[i][j];c[a[i][j]]=1;
            }
    }
      for(i=1;i<=9;i++)
       if(c[i]==0) d=i;
    for(i=1;i<=3;i++){
        for(j=1;j<=3;j++)
            {
               if(a[i][j]==0){
              a[i][j]=d;
            }
            }
    }
    for(i=1;i<=3;i++){
        cin>>x>>y;
        cout<<a[x][y]<<endl;
    }
    cin>>z;
    if(z==1)for(j=1;j<=3;j++)s+=a[1][j];
    if(z==2)for(j=1;j<=3;j++)s+=a[2][j];
    if(z==3)for(j=1;j<=3;j++)s+=a[3][j];
    if(z==4)for(j=1;j<=3;j++)s+=a[j][1];
    if(z==5)for(j=1;j<=3;j++)s+=a[j][2];
    if(z==6)for(j=1;j<=3;j++)s+=a[j][3];
    if(z==7)for(j=1;j<=3;j++)s+=a[j][j];
    if(z==8) s+=a[1][3]+a[2][2]+a[3][1];
    cout<<b[s];
return 0;
}

 7-13  数雷

扫雷游戏玩过吗?没玩过的请参考下图。

2081.png

点开一个格子的时候,如果这一格没有雷,那它上面显示的数字就是周围8个格子(忽略游戏区域外的格子)的地雷数目。给你一个矩形区域表示的雷区,请数一数各个无雷格子周围(上,下,左,右,左上,右上,左下,右下等8个方向)有几个雷。

输入格式:

首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。对于每组测试,第一行输入2个整数x,y(1≤ x,y ≤15),接下来输入x行每行y个字符,用于表示地雷的分布,其中,*表示地雷,.表示该处无雷。

输出格式:

对于每组测试,输出一个x行y列的矩形,其中有地雷的格子显示*,没地雷的格子显示其周围8个格子中的地雷总数。任意两组测试之间留一个空行。

输入样例:

2
3 3
**.
..*
.*.
2 4
*..*
*...

输出样例:

**2
34*
1*2

*21*
*211

 

#include<bits/stdc++.h>
using namespace std;
int main(){
    int t;
    cin>>t;
    while(t--){
        int x,y,i,j;
        char a[20][20]={' '};
        cin>>x>>y;
        for(i=1;i<=x;i++){
            for(j=1;j<=y;j++)
                cin>>a[i][j];
        }
        for(i=1;i<=x;i++){
            for(j=1;j<=y;j++)
            {
                int s=0;
                if(a[i][j]=='.'){
                    if(a[i-1][j]=='*')s++;
                    if(a[i][j-1]=='*')s++;
                    if(a[i+1][j]=='*')s++;
                    if(a[i][j+1]=='*')s++;
                    if(a[i-1][j-1]=='*')s++;
                    if(a[i+1][j+1]=='*')s++;
                    if(a[i-1][j+1]=='*')s++;
                    if(a[i+1][j-1]=='*')s++;
                    cout<<s;
                }
                else cout<<a[i][j];
            }
            
            cout<<endl;
        }
        if(t!=0)
        cout<<endl;
    }
return 0;
}

7-14 最矮的巨人

操场上有N x N个“巨人”按N行N列的矩阵形式列队,请编程找出该方阵中所有“最矮的巨人”。
所谓“最矮的巨人”是指,该巨人在其所在行中,身高最高(没人比其更高);且在其所在列中,身高最矮(没人比其更矮)。

输入格式:

输入的第1行给出一个正整数n ( 1 ≤ n ≤ 6 ),表示方阵的行列数。随后n行,每行给出n个整数,代表巨人的身高,其间以空格作分隔。

输出格式:

如果找到至少一个“最矮巨人”,输出如下:

(第1个最矮巨人所在行下标,第1个最矮巨人所在列下标)

(第2个最矮巨人所在行下标,第2个最矮巨人所在列下标)

...

(第n个最矮巨人所在行下标,第n个最矮巨人所在列下标)

如果没有找到“最矮巨人”,输出如下:
NONE

注意:即便输出结果只有一行,也要输出换行符。行列下标均从0开始计数。

输入样例:

4
1 7 4 6
4 6 3 6
1 6 1 6
0 7 8 7

输出样例:

(1,1)
(1,3)
(2,1)
(2,3)

7-15 机工士姆斯塔迪奥 

在 MMORPG《最终幻想14》的副本“乐欲之所瓯博讷修道院”里,BOSS 机工士姆斯塔迪奥将会接受玩家的挑战。

你需要处理这个副本其中的一个机制:N×M 大小的地图被拆分为了 N×M 个 1×1 的格子,BOSS 会选择若干行或/及若干列释放技能,玩家不能站在释放技能的方格上,否则就会被击中而失败。

给定 BOSS 所有释放技能的行或列信息,请你计算出最后有多少个格子是安全的。

输入格式:

输入第一行是三个整数 N,M,Q (1≤N×M≤105,0≤Q≤1000),表示地图为 N 行 M 列大小以及选择的行/列数量。

接下来 Q 行,每行两个数 Ti​,Ci​,其中 Ti​=0 表示 BOSS 选择的是一整行,Ti​=1 表示选择的是一整列,Ci​ 为选择的行号/列号。行和列的编号均从 1 开始。

输出格式:

输出一个数,表示安全格子的数量。

输入样例:

5 5 3
0 2
0 4
1 3

输出样例:

12
#include<bits/stdc++.h>
using namespace std;
int main(){
       int n,m,q,x,y,i,j;
    cin>>n>>m>>q;
    int a[n+5][m+5],b=0;
    for(i=1;i<=n;i++){
        for(j=1;j<=m;j++)
            a[i][j]=0;
    }
    while(q--){
        cin>>x>>y;
        if(x==0){
            for(j=1;j<=m;j++)
                a[y][j]=1;
        }
        else {
            for(i=1;i<=n;i++)
                a[i][y]=1;
        }
    }
    for(i=1;i<=n;i++){
        for(j=1;j<=m;j++)
            if(a[i][j]==0)b++;
    }cout<<b;
   return 0;
}

 

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,m,q,i,j,x,y,s1=0,s2=0;
    map<int,int>b[2];b[2][100005]={0};
    cin>>n>>m>>q;
    while(q--){
        cin>>x>>y;
        if(b[x][y]==0){
            if(x==0)s1++;
            else s2++;
        b[x][y]=1;}
    }cout<<n*m-(s1*m+s2*n-s1*s2);
return 0;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1207934.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WGCLOUD的特点整理

做运维工作很多年了&#xff0c;项目中用过不少的运维软件工具&#xff0c;今天整理下WGCLOUD的特点&#xff08;优点&#xff09; 首先WGCLOUD是完全免费的 部署使用&#xff1a;部署简单方便&#xff0c;上手容易&#xff0c;几乎没有学习成本&#xff0c;对新手友好 文档…

文献阅读——Layered Costmaps for Context-Sensitive Navigation

摘要 许多导航系统&#xff0c;包括无处不在的ROS导航堆栈&#xff0c;在单个成本图上执行路径规划&#xff0c;其中大部分信息存储在单个网格中。这种方法在生成最小长度的无碰撞路径方面非常成功&#xff0c;但是当成本图中的值超出已占用或空闲空间时&#xff0c;它在动态的…

【教学类-07-08】20231114《破译电话号码-图形篇(图形固定列不重复)》(大4班 有名字 有班级 无学号、零=0)

效果展示 背景需求&#xff1a; 最近大4班做“嵌套骰子”非常频繁&#xff0c;为了避免“疲劳”&#xff0c;我找出他们班家长的手机号&#xff0c;批量做了“破译电话号码”&#xff0c;有图案版和加减法版&#xff0c;考虑到第一次做&#xff0c;还是选最简单的“点数总数&a…

物联网AI MicroPython学习之语法 umqtt客户端

学物联网&#xff0c;来万物简单IoT物联网&#xff01;&#xff01; umqtt 介绍 模块功能: MQTT客户端功能 - 连线、断线、发布消息、订阅主题、KeepAlive等功能。 MQTT协议采用订阅者/发布者模式&#xff0c;协议中定义了消息服务质量&#xff08;Quality of Service&#x…

墨西哥专线国际物流为何连续几年高增长?

墨西哥专线国际物流之所以连续几年高增长&#xff0c;有多个原因。首先&#xff0c;墨西哥作为北美地区重要的制造业基地&#xff0c;其对国际物流的需求持续增长。墨西哥的地理位置使其成为连接北美、中美洲和南美洲的重要交通枢纽&#xff0c;这意味着墨西哥的国际物流需求将…

二分法中的两个模板

在acwing的算法基础课中&#xff0c;yxc给出了二分的两个模板&#xff0c;这里举有序数组查找某个数的例子来说明这两个模板。 模板1&#xff1a; 当我们将区间[l, r]划分成[l, mid]和[mid 1, r]时&#xff0c;其更新操作是r mid或者l mid 1;&#xff0c;计算mid时不需要加…

用Go实现yaml文件节点动态解析

1.摘要 在大多数Go语言项目中, 配置文件通常为yaml文件格式, 在文件中可以设置项目中可灵活配置的各类参数, 通常这类参数都是比较固定的, 可以将其映射为对应的结构体在项目中进行使用, 如果需要调整参数时, 只需要增减结构体参数字段内容即可。 但同时还存在另外一种情况, …

【PG】PostgreSQL高可用方案repmgr部署(非常详细)

目录 简介 1 概述 1.1 术语 1.2 组件 1.2.1 repmgr 1.2.2 repmgrd 1.3 Repmgr用户与元数据 2 安装部署 2.0 部署环境 2.1 安装要求 2.1.1 操作系统 2.1.2 PostgreSQL 版本 2.1.3 操作系统用户 2.1.4 安装位置 2.1.5 版本要求 2.2 安装 2.2.1 软件包安装 2.2…

git分支管理以及不同git工作流对比

0、 单人开发场景 单人开发可能会出现的场景之一 如果多人协同开发我们则需要使用更加专业的工具Git&#xff08;分布式版本控制&#xff09; 1、多人协同工作使用git会出现什么问题? 代码冲突&#xff1a; 问题&#xff1a; 当多个开发者同时修改同一文件或同一行代码时…

embedding的综述

1 一文读懂Embedding的概念&#xff0c;以及它和深度学习的关系 one-hot 变成地位稠密的向量&#xff0c;降维 什么是词嵌入&#xff1a;讲词汇表中的词或者词语映射成固定长度的向量。 具体过程&#xff1a; one-hot变成低维连续的向量 语义相近的词语&#xff0c;词语赌…

大模型的实践应用6-百度文心一言的基础模型ERNIE的详细介绍,与BERT模型的比较说明

大家好,我是微学AI,今天给大家讲一下大模型的实践应用6-百度文心一言的基础模型ERNIE的详细介绍,与BERT模型的比较说明。在大规模语料库上预先训练的BERT等神经语言表示模型可以很好地从纯文本中捕获丰富的语义模式,并通过微调的方式一致地提高各种NLP任务的性能。然而,现…

英伟达中国特供芯片是缩水版;华为 Mate60 Pro 国产零件价值占比 47%丨 RTE 开发者日报 Vol.84

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE &#xff08;Real Time Engagement&#xff09; 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

这个双11,谁赚了?

双11落幕&#xff0c;很多品牌迎来一年中最重要的一次生意爆发&#xff0c;但作为普通消费者&#xff0c;还是能感受到今年双11的消费氛围减弱了&#xff0c;一方面&#xff0c;电商大促驱向常态化&#xff0c;双11不一定是全年最低价&#xff0c;“有需要再买”的心态越来越多…

人工智能学院承办南山区区块链公益职业技能培训

11月4日&#xff0c;南山区人力资源局主办、深圳职业技术大学承办的2023年南山区公益职业技能培训项目——区块链技术应用项目&#xff0c;于当天在深圳职业技术大学西丽湖校区图书馆西厅正式开班。此次培训将持续至11月18日。南山区人力资源局职业能力建设科科长张仁勇、人工智…

微服务简单理解与快速搭建

分布式和微服务 含义 微服务架构 微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法&#xff0c;每个服务运行在自己的进程中&#xff0c;服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并且可通过全自动部署机制独立部署。这些服…

解密网络世界的秘密——Wireshark Mac/Win中文版网络抓包工具

在当今数字化时代&#xff0c;网络已经成为了人们生活和工作中不可或缺的一部分。然而&#xff0c;对于网络安全和性能的监控和分析却是一项重要而又复杂的任务。为了帮助用户更好地理解和解决网络中的问题&#xff0c;Wireshark作为一款强大的网络抓包工具&#xff0c;应运而生…

springboot+maven多环境动态配置,以及编译失败的解决方案

一、前言 在我们的项目开发过程中一般会有多套的环境&#xff0c;比如比较常见的会有三套&#xff1a; dev &#xff08;研发环境&#xff09;&#xff0c;test(测试环境)&#xff0c;prod&#xff08;生产环境&#xff09;。 application.yml 是主配置文件&#xff0c;当在不…

Redis 事务特性、原理、具体命令操作全方位诠释 —— 零基础可学习

&#x1f9f8;欢迎来到dream_ready的博客&#xff0c;&#x1f4dc;相信您对这篇博客也感兴趣o (ˉ▽ˉ&#xff1b;) &#x1f4dc;redis和缓存及相关问题和解决办法 什么是缓存预热、缓存穿透、缓存雪崩、缓存击穿 目录 1、复习 MySQl 事务的特性 2、Redis 事务特性 2.1、原子…

Debug知识点解析!超实用教程

一、Debug简介 二、IDEA中的Debug步骤 2.1 步过调试按钮(F8) 2.2 步入调试按钮(F7) 2.3 强制步入调试按钮(Alt Shift EZ) 2.4 步出调试按钮(Shift F8) 2.5 回退断点 2.6 运行到光标处&#xff08;F9&#xff09; 2.7 计算表达式按钮(Alt F8) 三、条件断点 在断点处右…

Project IDX简介——这是一项改进全栈、多平台应用程序开发的试验

如今&#xff0c;将应用程序从零开发到生产环境&#xff08;尤其是在移动、网络和桌面平台上运行良好的应用程序&#xff09;感觉就像构建一台 Rube Goldberg 机器。您必须在无尽的复杂性海洋中航行&#xff0c;将各种技术堆栈粘合在一起&#xff0c;以引导、编译、测试、部署和…