首页 > 其他 > 详细

牛客网暑期ACM多校训练营(第四场) F

时间:2018-07-28 19:22:20      阅读:188      评论:0      收藏:0      [点我收藏+]

链接:

https://www.nowcoder.com/acm/contest/142/F

题意:

n x m的矩形,选个p x q的矩形去掉,两个矩形中?重合,去掉后的矩形上下左右对称
 求(p, q)?方案数
 n, m <= 2000, n, m是偶数,p < n 且 q < m

分析:

直接求对称的外框有多宽多长, 答案就是长*宽

#include <bits/stdc++.h>
using namespace std;
int n, m;
string G[12345];
int main() {
//    freopen("1.txt","r", stdin);
    int T;
    cin >> T;
    while(T--) {
        cin >> n >> m;
        for(int i = 0; i < n; i++) {
            cin >> G[i];
        }

        int c, r;
        for(c = 0; c < n/2; c++) {
            bool flag = true;
            for(int k = 0; k < m; k++) {
                if(G[c][k] != G[n-c-1][k]) {
                    flag = false;
                    break;
                }
            }
            if(!flag || c == n/2 - 1)
                break;
        }
        for(r = 0; r < m/2; r++) {
            bool flag = true;
            for(int k = 0; k < n; k++) {
                if(G[k][r] != G[k][m-r-1]) {
                    flag = false;
                    break;
                }
            }
            if(!flag || r == m/2 - 1)
                break;
        }
        cout << c * r << "\n";
    }
}

 

牛客网暑期ACM多校训练营(第四场) F

原文:https://www.cnblogs.com/Jadon97/p/9383027.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!