http://codeforces.com/contest/14

A

 找最大最小的行列值即可

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 #define lson l,mid,rt<<1
 4 #define rson mid+1,r,rt<<1|1
 5 #define sqr(x) ((x)*(x))
 6 #define maxn 500005
 7 typedef long long ll;
 8 /*#ifndef ONLINE_JUDGE
 9         freopen("1.txt","r",stdin);
10 #endif */
11 
12 string str[55];
13 
14 int main(){
15     #ifndef ONLINE_JUDGE
16         freopen("1.txt","r",stdin);
17     #endif
18     std::ios::sync_with_stdio(false);
19     int n,m;
20     cin>>n>>m;
21     int hangmin=105,hangmax=-1,liemin=105,liemax=-1;
22     for(int i=0;i<n;i++) cin>>str[i];
23     for(int i=0;i<n;i++){
24         for(int j=0;j<m;j++){
25             if(str[i][j]=='*'){
26                 hangmin=min(hangmin,i);
27             }
28         }
29     }
30     for(int i=0;i<n;i++){
31         for(int j=0;j<m;j++){
32             if(str[i][j]=='*'){
33                 hangmax=max(hangmax,i);
34             }
35         }
36     }
37     for(int i=0;i<n;i++){
38         for(int j=0;j<m;j++){
39             if(str[i][j]=='*'){
40                 liemin=min(liemin,j);
41             }
42         }
43     }
44     for(int i=0;i<n;i++){
45         for(int j=0;j<m;j++){
46             if(str[i][j]=='*'){
47                 liemax=max(liemax,j);
48             }
49         }
50     }
51    // cout<<hangmin<<" "<<hangmax<<" "<<liemin<<" "<<liemax<<endl;
52     for(int i=hangmin;i<=hangmax;i++){
53         for(int j=liemin;j<=liemax;j++){
54             cout<<str[i][j];
55         }
56         cout<<endl;
57     }
58 }
View Code

相关文章: