(大概5每组数据第一行三个整数n(1 \leq n \leq 100), b, c (0 \leq c < b \leq 10^{9})n(1≤n≤100),b,c(0≤c<b≤109)。
接下来一行nn个整数a_i ( 0 \leq a_i \leq 10^{9})ai(0≤ai≤109)。
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int n,i,j,y,x,k,a[100];
long b,c;
while(cin>>n>>b>>c)
{
k=0;
for(i=1;i<=n;i++)
{
cin>>a[i];
}
for(j=n;j>0;j--){
for(i=1;i<j;i++) {
x=a[i]-a[j];
y=abs(x);
if(y%b==c)
k++;
}
}
cout<<k<<endl;
}
return 0;
}
注意排列数组
另一种方法:
#include <iostream>
using namespace std;
int main()
{
int n , b , c,a[100],i,j,s;
while(cin>>n>>b>>c)
{
for(i=1;i<=n;i++)
cin>>a[i];
int s =0;
for(i=1;i<=n;i++) for( j=i+1;j<=n;j++) if(abs(a[i]-a[j])%b==c)
s++;
cout<<s<<endl;
}
return 0;
}