天天看點

csp試題1:相鄰數對

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;
}
           

總結

      題目感覺有些難,但寫起來好簡單。

繼續閱讀