Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
111080 | I am BM | 划分字母区间 | C++ | 解答错误 | 0 | 0 MS | 276 KB | 758 | 2023-11-18 10:07:23 |
#include<bits/stdc++.h> using namespace std; char A[1005]; bool a[27][1005],x[27],y[27],z1[27],z2[27],z; int length=0,pqian; int main() { scanf("%s",A); for (int p=0;p<=999;p++) { if (A[p]<=122&&A[p]>=97&&x[A[p]-96]==0) { x[A[p]-96]=1; a[A[p]-96][p]=1; length=p; } } for (int p=length;p>=0;p--) { if (A[p]<=122&&A[p]>=97&&y[A[p]-96]==0) { y[A[p]-96]=1; a[A[p]-96][p]=1; } } for (int p=0;p<length;p++) { if (p==0) pqian=-1; for (int q=1;q<=26;q++) { z1[q]=0;z2[q]=0;z=0; if (a[q][p]==1) z1[q]=1; if (a[q][p+1]==1) z2[q]=1; } for (int q=1;q<=26;q++) { if (z1[q]==0||z2[q]==0) z=1; } if (z==0) { cout<<p-pqian<<" "; } pqian=p; } return 0; }