Codeforces Round #609 (Div. 2)--B.Modulo Equality

Modulo Equality

 

 关键:a数组中的数变换后与b数组中的数唯一对应

AC_Code

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 const int maxn=2010;
 5 const int inf=0x3f3f3f3f;
 6 
 7 int main()
 8 {
 9     int n,m;
10     int a[maxn],b[maxn];
11     scanf("%d%d",&n,&m);
12     for(int i=0;i<n;i++){
13         scanf("%d",&a[i]);
14     }
15     for(int j=0;j<n;j++){
16         scanf("%d",&b[j]);
17     }
18     sort(a,a+n);
19     sort(b,b+n);
20     int ans=inf;
21     for(int i=0;i<n;i++){
22         int x=(b[i]-a[0]+m)%m;
23         bool ok=true;
24         for(int j=0;j<n;j++){
25             if( (a[j]+x)%m!=b[(i+j)%n] ){
26                 ok=false;
27                 break;
28             }
29         }
30         if( ok ) ans=min(ans,x);
31     }
32     printf("%d
",ans);
33     return 0;
34 }
原文地址:https://www.cnblogs.com/wsy107316/p/12268925.html