CCF 201409 1(相鄰數對)

2021-10-02 08:14:31 字數 1639 閱讀 9633

相鄰數對
一:題目描述

1.問題描述

給定n個不同的整數,問這些數中有多少對整數,它們的值正好相差1。

2.輸入格式

輸入的第一行包含乙個整數n,表示給定整數的個數。第二行包含所給定的n個整數。

3.輸出格式

輸出乙個整數,表示值正好相差1的數對的個數。

4.樣例輸入

6

10 2 6 3 7 8

5.樣例輸出

6.樣例說明

值正好相差1的數對包括(2, 3), (6, 7), (7, 8)。

7.測試用例規模於約定

1<=n<=1000,給定的整數為不超過10000的非負整數。

二:理解

對於第乙個**就是直接暴力。

第二個需要先排一下序,則之間差一的就是相鄰數對。

第三個**和第二個思路是一樣的,不過用vector來解決的。

vector:vector用法

三:**:

**一:

#include

#include

using

namespace std;

int num[

1005];

intmain()

**二:

#include

#include

using

namespace std;

int num[

1005];

intmain()

**三:

#include

#include

using

namespace std;

int num[

1005

],n;

#define loop(i,begin,end) for(int i=begin; iint

main()

sort

(nums.

begin()

, nums.

end())

;loop

(i,0

,nums.

size()

-1)if

(nums[i+1]

- nums[i]==1

) count++

; cout << count << endl;

return0;

}

第二次**:

思路比較簡單。

#include

#include

using

namespace std;

int num[

1005];

intmain()

CCF 201409 1 相鄰數對

給定n個不同的整數,問這些數中有多少對整數,它們的值正好相差1。輸入的第一行包含乙個整數n,表示給定整數的個數。第二行包含所給定的n個整數。輸出乙個整數,表示值正好相差1的數對的個數。6 10 2 6 3 7 8 值正好相差1的數對包括 2,3 6,7 7,8 1 n 1000,給定的整數為不超過1...

ccf 201409 1 相鄰數對

試題編號 201409 1 試題名稱 相鄰數對 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 給定n個不同的整數,問這些數中有多少對整數,它們的值正好相差1。輸入格式 輸入的第一行包含乙個整數n,表示給定整數的個數。第二行包含所給定的n個整數。輸出格式 輸出乙個整數,表示值正好...

CCF 201409 1 相鄰數對

問題描述 給定n個不同的整數,問這些數中有多少對整數,它們的值正好相差1。輸入格式 輸入的第一行包含乙個整數n,表示給定整數的個數。第二行包含所給定的n個整數。輸出格式 輸出乙個整數,表示值正好相差1的數對的個數。樣例輸入 6 10 2 6 3 7 8 樣例輸出 3 樣例說明 值正好相差1的數對包括...