Advertisement
Guest User

Untitled

a guest
Nov 21st, 2014
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.38 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4.  
  5. int main()
  6. {
  7.     int t;
  8.    
  9.     scanf("%d ",&t);
  10.    
  11.     char l[10001], matriz[101][101];;
  12.    
  13.     for(int i=0;i<t;i++)
  14.     {
  15.         int j=0;
  16.        
  17.         while(scanf("%c",&l[j])==1 && l[j]!='\n')
  18.         {
  19.             if(l[j]<'a' || l[j]>'z') j--;
  20.             j++;
  21.         }
  22.        
  23.        
  24.         l[j] = '\0';
  25.        
  26.  
  27.         double tamlinha;
  28.  
  29.         tamlinha = sqrt(strlen(l));
  30.        
  31.         if((int)tamlinha*(int)tamlinha!=strlen(l)) printf("No magic :(\n");
  32.         else
  33.         {
  34.             int w=0;
  35.  
  36.             for (int j = 0; j < (int) tamlinha; ++j)
  37.             {
  38.                 for (int k = 0; k < (int) tamlinha; ++k)
  39.                 {
  40.                     matriz[j][k] = l[w];
  41.                     w++;
  42.                 }
  43.             }
  44.  
  45.             printf("Case #%d:\n",(i+1));
  46.            
  47.             int ver=0;
  48.            
  49.             for(int j=0;j<(int) tamlinha;j++)
  50.             {
  51.                 for (int k=0;k<(int)tamlinha;k++)
  52.                 {
  53.                     if(matriz[j][k]!=matriz[k][j] || matriz[j][k]!=matriz[(((int)tamlinha)-1)-j][(((int)tamlinha)-1)-k] || matriz[j][k]!=matriz[(((int)tamlinha)-1)-k][(((int)tamlinha)-1)-j])
  54.                     {
  55.                         ver =1;
  56.                         break;
  57.                     }
  58.                 }
  59.                 if(ver==1) break;
  60.             }
  61.            
  62.             if(ver==0) printf("%d\n",(int) tamlinha);
  63.             else printf("No magic :(\n");
  64.         }
  65.  
  66.        
  67.    
  68.     }
  69.  
  70.     return 0;
  71.  
  72.  
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement