ACdream 之ACfun 题解
A - 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的数目num然后再输出num+1个A,题目我是没看出来有说这个东西。仅仅是看队友A了问了才知道的,希望ACdream以后出题能考虑到这点吧
代码:
/* * this code is made by chaoyueziji * Problem: 1125 * Verdict: Accepted * Submission Date: 2014-07-11 22:56:21 * Time: 0MS * Memory: 1676KB */ #include<cstdio> #include<cstring> #include<iostream> using namespace std; int main() { char s[1001]; int i,j,k,l,t; int sum,max; cin>>t; getchar(); while(t--) { sum=max=0; gets(s); for(i=0;i<strlen(s);i++) { if(s[i]=='A') { sum=1; for(j=i+1;j<strlen(s);j++) { if(s[i]==s[j]) sum++; if(sum>max) max=sum; if(s[i]!=s[j]) { sum=1; break; } } } } for(i=0;i<=max;i++) printf("A"); printf("\n"); } return 0; }