for(j=0;j
}
}
for(int p=0;p<4;p++){
transform.rotate(a, n);
if(transform.judge(a, b, n)){
k++;
if(p==3) out.println(6);
else{
out.println(p+1);
break;
}
}
}
if(k<1){
transform.Reflection(a, n);
if(transform.judge(a, b, n)){
k++;
out.println(4);
}
}
if(k!=1&&k!=2){
for(int p=0;p<3;p++){
transform.rotate(a, n);
if(transform.judge(a, b, n)){
k++;
out.println(5);
}
}
}
if(k==0){
out.println(7);
}
out.close();
System.exit(0);
}
}
package Karl.Water;
/*
LANG: JAVA
TASK: transform
*/
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
public class transform {
public static void Reflection(char[][] a,int n){
char k;
int i,j;
for(j=0;j
a[j][i] = a[j][n-1-i];
a[j][n-1-i] = k;
}
}
}
public static void rotate(char a[][],int N)
{
int layer;
for(layer=0; layer
int first = layer;
int last = N-1-layer;
int i;
for(i=layer; i
int offset = i-layer;
char top = a[first][i];
a[first][i] = a[last-offset][first];
a[last-offset][first] = a[last][last-offset];
a[last][last-offset] = a[i][last];
a[i][last] = top;
}
}
}
public static boolean judge(char[][] a,char[][] b,int n){
for(int i=0;i
return false;
}
}
}
return true;
}
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new FileReader("transform.in"));
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("transform.out")));
char[][] a = new char[1000][1000];
char[][] b = new char[1000][1000];
char[][] c = new char[1000][1000];
int n = Integer.parseInt(br.readLine());
String s = new String();
int i,j,k=0;
for(i=0;i
for(j=0;j
c[i][j] = s.charAt(j);
}
}
for(i=0;i
for(j=0;j
}
}
for(int p=0;p<4;p++){
transform.rotate(a, n);
if(transform.judge(a, b, n)){
k++;
if(p==3) out.println(6);
else{
out.println(p+1);
break;
}
}
}
if(k<1){
transform.Reflection(a, n);
if(transform.judge(a, b, n)){
k++;
out.println(4);
}
}
if(k!=1&&k!=2){
for(int p=0;p<3;p++){
transform.rotate(a, n);
if(transform.judge(a, b, n)){
k++;
out.println(5);
}
}
}
if(k==0){
out.println(7);
}
out.close();
System.exit(0);
}
}