1793 良序字串

1793 良序字串

 

 时间限制: 1 s
 空间限制: 128000 KB
 题目等级 : 白银 Silver
 
 
题目描述 Description

‘DOS’被称为良序字串,因为它之中的字母是按ASCII码的顺序排列的,而‘DATE’则不是良序字串。

现要求给出一个N*N的字母方阵,从中选出给定长度M的良序字串。

注明:良序字串的每个字母必须在同一行中连续。

输入描述 Input Description

第一行为N,M

接下来N行为N*N 的方阵

输出描述 Output Description

输出给定长度M的良序字串

每行一个。

样例输入 Sample Input

4 3(N和M的值)

ABDE

CDDE

DEFK

CDKF

样例输出 Sample Output

ABD

BDE

DEF

EFK

CDK

数据范围及提示 Data Size & Hint

N,M<=5

#include<cstdio>
#include<iostream>
using namespace std;
int s[25][25];
int main(){
    int n,m;
    scanf("%d %d
",&n,&m);//读入注意空格 和换行 
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++)
           scanf("%c",&s[i][j]);
           scanf("
");  
    }
    for(int i=1;i<=n;i++){//枚举行 
        for(int j=1;j<=n-m+1;j++){//枚举起点 
            int k;
            for(k=1;k<m;k++)//判断ASCII码顺序 
                if(s[i][j+k-1]>=s[i][j+k]) break;
            if(k>=m){
                for(k=0;k<m;k++)
                    printf("%c",s[i][j+k]);
                printf("
");
                
            }
        }
    }
    return 0;
} 
原文地址:https://www.cnblogs.com/shenben/p/5516722.html