首页 > 代码库 > ACdream 之ACfun 题解

ACdream 之ACfun 题解

A - ACfun

Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others)
SubmitStatus

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.

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.

Output

For each test case:
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;
}