CCF 201409-1 相鄰數對 題解
阿新 • • 發佈:2019-01-07
試題編號: | 201409-1 |
試題名稱: | 相鄰數對 |
時間限制: | 1.0s |
記憶體限制: | 256.0MB |
問題描述: |
問題描述
給定n個不同的整數,問這些數中有多少對整數,它們的值正好相差1。
輸入格式
輸入的第一行包含一個整數n,表示給定整數的個數。 第二行包含所給定的n個整數。 輸出格式 輸出一個整數,表示值正好相差1的數對的個數。 樣例輸入 6 10 2 6 3 7 8 樣例輸出 3 樣例說明 值正好相差1的數對包括(2, 3), (6, 7), (7, 8)。 評測用例規模與約定 1<=n<=1000,給定的整數為不超過10000的非負整數。 |
陣列題
思路:陣列下標代表具體0~10000具體數字,陣列元素的值代表是否有此數,0為沒有1為有。
列舉陣列,看相鄰的兩個陣列元素值是否都為1(相鄰的兩個數存在),計數器+1
滿分程式碼:
#include <iostream> #include <string.h> using namespace std; int main() { int a[10005]; memset(a,0,sizeof(int)*10005); int n; cin >> n; int num,count=0; for (int i=0;i<n;i++) { cin >> num; a[num]++; } for (int i=0;i<10004;i++){ if (a[i] && a[i+1]) count++; } cout << count << endl; return 0; }