csp試題1:相鄰數對
-
- 題目
- 分析
- 代碼
- 總結
題目
問題描述
給定n個不同的整數,問這些數中有多少對整數,它們的值正好相差1。
輸入格式
輸入的第一行包含一個整數n,表示給定整數的個數。
第二行包含所給定的n個整數。
輸出格式
輸出一個整數,表示值正好相差1的數對的個數。
樣例
輸入:
6
10 2 6 3 7 8
輸出:
3
說明:
值正好相差1的數對包括(2,3),(6, 7), (7,8)。
評測用例規模與約定
1<= n <=1000,給定的整數為不超過10000的非負整數。
分析
相鄰數對的個數就是後一個數減前一個數所得差為1的數對的個數,那麼直接相減然後計數就可以了。
代碼
/*
20190821
ccf試題1:相鄰數對
*/
#include <iostream>
using namespace std;
int main(){
//接收資料
int n;
cin >>n;
int arr[n];
for(int i=0; i<n; i++){
cin >>arr[i];
}
//計算數對個數
int numbers = 0;
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
if(arr[j] - arr[i] == 1){
numbers++;
}
}
}
//輸出結果
cout <<numbers<<endl;
return 0;
}
總結
題目感覺有些難,但寫起來好簡單。