cf1107d 映射关系

#include<bits/stdc++.h>
using namespace std;
int n,mp[][];
int judge(int i){
for(int j=;j<=n;j++)
if(mp[i][j]!=mp[i-][j])return ;
return ;
}
int main(){
cin>>n;
char ch;int a;
for(int i=;i<=n;i++)
for(int j=;j<=n;j+=){
cin>>ch;
if(ch<=''&&ch>='')a=ch-'';
else a=+ch-'A';
for(int k=;k>=;k--)
mp[i][j+(-k)]=(a>>k)&;
} int ans=,tmp=;
for(int i=;i<=n;i++){
if(judge(i))tmp++;
else if(ans==) ans=tmp,tmp=;
else ans=__gcd(ans,tmp),tmp=;
} for(int i=;i<=n;i++)
for(int j=i+;j<=n;j++)
swap(mp[i][j],mp[j][i]);
tmp=;
for(int i=;i<=n;i++){
if(judge(i))tmp++;
else ans=__gcd(ans,tmp),tmp=;
}
printf("%d\n",__gcd(ans,tmp));
}
上一篇:SQLServer控制用户访问权限表


下一篇:在Ubuntu上下载、编译和安装Android最新源码