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",&n,&m);//读入注意空格 和换行 for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++) scanf("%c",&s[i][j]); scanf("\n"); } 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("\n"); } } } return 0; }
时间: 2024-10-10 19:19:21