做網(wǎng)站前臺要學什么課程淘寶直通車推廣怎么做
圖形相似度
描述
給出兩幅相同大小的黑白圖像(用0-1矩陣)表示,求它們的相似度。
說明:若兩幅圖像在相同位置上的像素點顏色相同,則稱它們在該位置具有相同的像素點。
兩幅圖像的相似度定義為相同像素點數(shù)占總像素點數(shù)的百分比。
輸入
第一行包含兩個整數(shù)m和n,表示圖像的行數(shù)和列數(shù),中間用單個空格隔開。
1 <= m <= 100, 1 <= n <= 100。
之后m行,每行n個整數(shù)0或1,表示第一幅黑白圖像上各像素點的顏色。相鄰兩個數(shù)之間用單個空格隔開。
之后m行,每行n個整數(shù)0或1,表示第二幅黑白圖像上各像素點的顏色。相鄰兩個數(shù)之間用單個空格隔開。
輸出
一個實數(shù),表示相似度(以百分比的形式給出),精確到小數(shù)點后兩位。
#include<iostream>
#include<iomanip>
using namespace std;
int a[110][110];
int b[110][110];
int n,m;
int main()
{cin>>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<n;i++){for(int j = 0;j<m;j++){cin>>b[i][j];}}int cnt = 0;for(int i = 0;i<n;i++){for(int j = 0;j<m;j++){if(a[i][j] == b[i][j]){cnt++;}}}cout<<fixed<<setprecision(2)<<1.0*cnt/(n*m)*100;return 0;
}
矩陣邊緣之和
描述
輸入一個整數(shù)矩陣,計算位于矩陣邊緣的元素之和。所謂矩陣邊緣的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。
輸入
第一行分別為矩陣的行數(shù)m和列數(shù)n(m < 100,n < 100),兩者之間以一個空格分開。
接下來輸入的m行數(shù)據(jù)中,每行包含n個整數(shù),整數(shù)之間以一個空格分開。
輸出
輸出對應矩陣的邊緣元素和
#include<iostream>
#include<iomanip>
using namespace std;
int a[110][110];
int b[110][110];
int n,m;
int main()
{cin>>n>>m;int sum = 0;for(int i = 0;i<n;i++){for(int j = 0;j<m;j++){cin>>a[i][j];if(i == 0 || i == n-1 || j == 0 || j == m-1){sum = sum + a[i][j];}}}return 0;
}
最好的草
描述
奶牛Bessie計劃好好享受柔軟的春季新草。新草分布在R行C列的牧場里。它想計算一下牧場中的草叢數(shù)量。
在牧場地圖中,每個草叢要么是單個“#”,要么是有公共邊的相鄰兩個“#”。給定牧場地圖,計算有多少個草叢。
例如,考慮如下5行6列的牧場地圖
.#....
..#...
..#..#
...##.
.#....
這個牧場有5個草叢:一個在第一行,一個在第二列橫跨了二、三行,一個在第三行,一個在第四行橫跨了四、五列,最后一個在第五行。
輸入
第一行包含兩個整數(shù)R和C,中間用單個空格隔開。
接下來R行,每行C個字符,描述牧場地圖。字符只有“#”或“.”兩種。(1 <= R, C <= 100 )
輸出
輸出一個整數(shù),表示草叢數(shù)。
#include<iostream>
#include<iomanip>
using namespace std;
char a[110][110];
int n,m;
int main()
{cin>>n>>m;for(int i = 1;i<n;i++){for(int j = 0;j<m;j++){cin>>a[i][j];}}int cnt = 0;for(int i = 1;i<n;i++){for(int j = 1;j<m;j++){if(a[i][j] == '#'){cnt++;a[i-1][j] = '.';a[i+1][j] = '.';a[i][j-1] = '.';a[i][j+1] = '.';}}}cout<<cnt;return 0;
}