1 solutions
-
0
C++ :
#include<bits/stdc++.h> using namespace std; int n,tmp,ans=1800; char a[55][55],b[55][55],c[55][55],d[55][55]; int find(char a[55][55],char b[55][55]) { int xx=0; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(a[i][j]=='X' || b[i][j]=='X') xx++; // cout<<xx<<endl; return xx; } void zhuan(char a[55][55],char b[55][55]) { for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) b[i][j]=a[n-j+1][i]; } void fan(char a[55][55],char b[55][55]) { for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) b[i][j]=a[i][n-j+1]; } int main() { cin>>n; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) cin>>a[i][j]; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) { cin>>b[i][j]; c[i][j]=b[i][j]; } tmp=find(a,c);ans=min(ans,tmp); zhuan(c,d); tmp=find(a,d);ans=min(ans,tmp); zhuan(d,c); tmp=find(a,c);ans=min(ans,tmp); zhuan(c,d); tmp=find(a,d);ans=min(ans,tmp); fan(b,c); tmp=find(a,c);ans=min(ans,tmp); zhuan(c,d); tmp=find(a,d);ans=min(ans,tmp); zhuan(d,c); tmp=find(a,c);ans=min(ans,tmp); zhuan(c,d); tmp=find(a,d);ans=min(ans,tmp); cout<<ans; return 0; } /* 3 ... ..X ... X.. ... ... */
- 1
Information
- ID
- 994
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- 10
- Tags
- # Submissions
- 1
- Accepted
- 1
- Uploaded By