題目鏈接:
思路:定義整型數組desc,下標表示差值,裏面存儲差值的重複次數
由輸出示例可知,最後需要輸出的是重複次數大於等於2的那些
AC代碼:
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int N;
cin>>N;
int desc[10000]={0};
for(int i=1;i<=N;i++){
int num,t,pos;
cin>>num;
pos=i;
if(pos>num) swap(num,pos);
desc[num-pos]++;
}
for(int i=9999;i>=0;i--){
if(desc[i]>=2) cout<<i<<" "<<desc[i]<<endl;
}
return 0;
}