ACfun
Time Limit: 2000/1000MS (Java/Others)Memory Limit: 128000/64000KB (Java/Others)
Problem Description
As a former ACMer, "AC" is a special abbreviated word which can bring much pleasure to me. Sometimes it means everything.
This problem is about "AC".
One day, I write a long string S on the paper which contains "A" and "C". Now I want to find a lexicographic minimum string T satisfied that T is distinct with all substring of S.
This problem is about "AC".
One day, I write a long string S on the paper which contains "A" and "C". Now I want to find a lexicographic minimum string T satisfied that T is distinct with all substring of S.
Input
The first line of input file contains an integer T indicating the number of case.
In each test case:
Input a string S consist of "A" and "C". The length of S is not large than 100.
In each test case:
Input a string S consist of "A" and "C". The length of S is not large than 100.
Output
For each test case:
You should output the string T meet the condition.
You should output the string T meet the condition.
Sample Input
1 ACAC
Sample Output
AA
题意是要输出最小的字典序。且不是原字符串的的子串。。找到最长连续A子串。
。
由于要不属于原字符串所以再在其后加一A就可以。
在给些数据吧。
5
A
C
AACAAA
ACACA
CCCAA
AA
A
AAAA
AA
AAA
#include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<vector> #include<queue> using namespace std; int main() { char str[108]; int ans; int t; scanf("%d", &t); while( t-- ) { scanf("%s", str); int num=0; ans=0; for(int i=0; i<strlen(str); i++) { if(str[i]=='A') num++; for(int j=i+1; j<strlen(str); j++) { if(str[j]=='A') num++; if(str[j]!='A') break; } if(ans<num) ans=num; num=0; } for(int i=1; i<=ans+1; i++) cout<<"A"; cout<<endl; } return 0; }
版权声明:本文博主原创文章,博客,未经同意不得转载。