CodeForces 14A Letter

题目链接:http://codeforces.com/problemset/problem/14/A

题意:给出一个都是*和.的图,求有所有*的最小矩形并输出。

分析:直接求*所存在的最大边界,输出。

代码:

#include<cstdio>
#include<cmath>
#include<cstring>
#include<queue>
#include<stack>
#include<cstdlib>
#include<iomanip>
#include<string>
#include<vector>
#include<map>
#include<string>
#include<iostream>
#include<algorithm>
using namespace std;
#define INF 0x3f3f3f3f
typedef long long ll;
#define Max(a,b) (a>b)?a:b
#define lowbit(x) x&(-x)

int main()
{
    int n,m,x1=100,x2=0,y1=100,y2=0;
    char a[55][55];
    scanf("%d%d",&n,&m);
    for(int i=0;i<n;i++)
    {
        scanf("%s",a[i]);
        for(int j=0;j<m;j++)
        {
            if(a[i][j]=='*')
            {
                if(i>x2)
                    x2=i;
                if(i<x1)
                    x1=i;
                if(j>y2)
                    y2=j;
                if(j<y1)
                    y1=j;
            }
        }
    }
    for(int i=x1;i<=x2;i++)
    {
        for(int j=y1;j<=y2;j++)
        {
            printf("%c",a[i][j]);
        }
        puts("");
    }
    puts("");
}
View Code

 

posted @ 2016-08-19 19:13  wwdf  阅读(241)  评论(0编辑  收藏  举报