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

2022-10-17,,,

题目链接:


 

分析:

将某个差值的次数存在数组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 }

 

《1083 是否存在相等的差 PAT (Basic Level).doc》

下载本文的Word格式文档,以方便收藏与打印。