简单哈希数组题
注意输出只需要输出重复的,出现一次不叫重复,我像个弱智一样反复读了好多遍题目才懂。
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
int hash[10005]={0};
int arr[10005];
int main(){
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&arr[i]);
hash[abs(arr[i]-i)]++;
}
for(int i=n-1;i>=0;i--){
if(hash[i]>1){
printf("%d %d\n",i,hash[i]);
}
}
return 0;
}