标签:
题目链接: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(""); }
标签:
原文地址:http://www.cnblogs.com/wwdf/p/5788779.html