标签:超时 play color close gif 随机 ace target com
http://codeforces.com/gym/101341
【题意】
【思路】
【Accepted】
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<string> 5 #include<algorithm> 6 #include<cmath> 7 #include<queue> 8 9 using namespace std; 10 typedef long long ll; 11 const int inf=0x3f3f3f3f; 12 const int maxn=1e3+2; 13 const ll mod=1e9+7; 14 ll a[maxn][maxn],b[maxn][maxn],c[maxn][maxn],r[2][maxn],ra[2][maxn],rab[2][maxn],rc[2][maxn]; 15 int n,m; 16 17 int main() 18 { 19 while(~scanf("%d",&n)) 20 { 21 for(int i=1;i<=n;i++) 22 { 23 for(int k=1;k<=n;k++) 24 { 25 scanf("%lld",&a[i][k]); 26 } 27 } 28 for(int i=1;i<=n;i++) 29 { 30 for(int k=1;k<=n;k++) 31 { 32 scanf("%lld",&b[i][k]); 33 } 34 } 35 for(int i=1;i<=n;i++) 36 { 37 for(int k=1;k<=n;k++) 38 { 39 scanf("%lld",&c[i][k]); 40 } 41 } 42 for(int i=1;i<=n;i++) 43 { 44 r[1][i]=rand()%100+1; 45 } 46 memset(ra,0,sizeof(ra)); 47 memset(rab,0,sizeof(rab)); 48 for(int i=1;i<=n;i++) 49 { 50 for(int k=1;k<=n;k++) 51 { 52 ra[1][i]=(ra[1][i]+r[1][k]*a[k][i]%mod)%mod; 53 } 54 } 55 for(int i=1;i<=n;i++) 56 { 57 for(int k=1;k<=n;k++) 58 { 59 rab[1][i]=(rab[1][i]+ra[1][k]*b[k][i]%mod)%mod; 60 } 61 } 62 for(int i=1;i<=n;i++) 63 { 64 for(int k=1;k<=n;k++) 65 { 66 rc[1][i]=(rc[1][i]+r[1][k]*c[k][i]%mod)%mod; 67 } 68 } 69 int flag=1; 70 for(int i=1;i<=n;i++) 71 { 72 if(rab[1][i]!=rc[1][i]) 73 { 74 flag=0; 75 break; 76 } 77 } 78 if(flag) 79 { 80 puts("YES"); 81 } 82 else 83 { 84 puts("NO"); 85 } 86 87 } 88 return 0; 89 }
标签:超时 play color close gif 随机 ace target com
原文地址:http://www.cnblogs.com/itcsl/p/7202079.html