欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

1083 是否存在相等的差 PAT (Basic Level)

程序员文章站 2023-08-21 18:31:15
题目链接: https://pintia.cn/problem-sets/994805260223102976/problems/994805260780945408 分析: 将某个差值的次数存在数组a对应位置中,然后从a[n-1]开始判断是否大于1,若大于1,则输出下标和次数,一直到a[0]结束, ......

题目链接:


 

分析:

将某个差值的次数存在数组a对应位置中,然后从a[n-1]开始判断是否大于1,若大于1,则输出下标和次数,一直到a[0]结束,使用while(n--)恰好实现。


 

ac代码:

 1 #include<stdio.h>
 2 
 3 int main(void)
 4 {
 5     int n=0,m=0,i=0,a[10008]={0};
 6     scanf("%d",&n);
 7     for(i=1;i<=n;i++)
 8     {
 9         scanf("%d",&m);
10         ++a[m-i<0?i-m:m-i];
11     }
12     while(n--)
13         if(a[n]>1)
14             printf("%d %d\n",n,a[n]);
15     return 0;
16 }