Codeforces Round #243 (Div. 2) Problem B - Sereja and Mirroring 题解

http://codeforces.com/contest/426/problem/B

题意大概就是对称有关,要注意的是,当行数为奇数的时候,答案就是行数本身

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define maxn 1005
using namespace std;

char a[maxn][maxn];
int ans;

void solve(int r)
{
    if(r % 2)
        return;

    for(int i = 1, j = r; i <= r / 2; i ++, j --)
    {
        if(strcmp(a[i], a[j]))
            return;
    }

    ans /= 2;
    solve (r / 2);
}

int main()
{
    int row, lie;

    scanf("%d%d", &row, &lie);
    getchar();

    int i;
    for(i = 1; i <= row; i ++)
    {
        gets(a[i]);
//        cout << i << endl;
    }

    ans = row;
    solve(row);

    cout << ans << endl;
    return 0;
}


posted @ 2014-04-28 08:16  MrYu4  阅读(16)  评论(0编辑  收藏  举报