바보 곰 돌 이

7127 단어 T
http://acm.nyist.net/JudgeOnline/problem.php?pid=62
둔 한 곰 돌 이
시간 제한:
2000 ms  |  메모리 제한: 65535 KB
난이도:
2
 
묘사 하 다.
멍청 한 곰 돌 이 는 어 휘 량 이 적어 영어 선택 문 제 를 풀 때마다 머리 가 아프다.그러나 그 는 한 가지 방법 을 찾 았 다. 실험 을 통 해 이런 방법 으로 옵션 을 선택 할 때 선택 할 확률 이 매우 높다 는 것 이 증명 되 었 다. 이런 방법의 구체 적 인 묘 사 는 다음 과 같다. 만약 에 maxn 이 단어 에서 가장 많이 등장 하 는 자모의 출현 횟수 라 고 가정 하면 minn 은 단어 에서 가장 많이 등장 하 는 자모의 출현 횟수 이다. 만약 에 maxn - minn 이 하나의 질 수 라면 멍청 한 곰 돌 이 는 이것 이 Lucky Word 라 고 생각 하 는데 이런 단 어 는 정 답 일 가능성 이 높다.
 
입력
첫 번 째 줄 데이터 N (0 < N < 100) 은 테스트 데이터 그룹 수 를 표시 합 니 다.
각 그룹의 테스트 데이터 입력 은 한 줄 로 한 단어 로 소문 자 만 나 올 수 있 고 길 이 는 100 보다 작다.
출력
각 그룹의 테스트 데이터 출력 은 모두 두 줄 이 고 첫 번 째 줄 은 하나의 문자열 입 니 다. 입력 한 단어 가 Lucky Word 라 고 가정 하면 'Lucky Word' 를 출력 합 니 다. 그렇지 않 으 면 'No Answer' 를 출력 합 니 다. 
두 번 째 줄 은 하나의 정수 입 니 다. 단 어 를 Lucky Word 로 입력 하면 maxn - minn 의 값 을 출력 합 니 다. 그렇지 않 으 면 0 을 출력 합 니 다.
샘플 입력
2

error

olympic

샘플 출력
Lucky Word

2

No Answer

0

근원
NOIP2008
분석:
소수 인지 아 닌 지 를 직접 판단 하면 된다.
AC 코드:
 1  

 2 #include<iostream>

 3 #include<stdio.h>

 4 #include<algorithm>

 5 #include<math.h>

 6 #include<string.h>

 7 using namespace std;

 8 int main()

 9 {

10   int n;

11   cin>>n;

12   for(int k = 0; k < n; k++)

13   {

14     char s[100];

15     cin>>s;

16     int ll = strlen(s),max = 0,min = 100;

17     sort(s,s+ll);

18     for(int i = 0; i < ll;)

19     {

20       int temp = i+1,num = 1;

21       while(temp < ll&&s[i] == s[temp])

22       {

23         temp ++;

24         num++;

25       }

26       if(num > max) max = num;

27       if(num < min) min = num;

28        i = temp;

29     }

30     int number = max - min,ok = 0;

31     if(number == 0 || number == 1) {cout<<"No Answer"<<endl;cout<<"0"<<endl; continue;}

32     int nums = sqrt(number);

33     for(int j = 2; j <= nums; ++j)

34     if(number%j == 0) ok = 1;

35     if(ok) {cout <<"No Answer"<<endl;cout<<"0"<<endl;}

36     else {cout<<"Lucky Word"<<endl;cout<<number<<endl;}

37   }

38 

39 return 0;

40 }        

좋은 웹페이지 즐겨찾기