HDU 1880 - 저주 사전 (폭력 문자열 처리)

2606 단어 알고리즘
제목 링크 - HDU 1880
Problem Description
해 리포터 의 마법 학교 필수 과목 중 하 나 는 징 크 스 를 배 우 는 것 이다.마법 의 세 계 는 100000 가지 서로 다른 저주 가 있다 고 한다. 해 리 는 모두 기억 하기 어렵 지만 강적 에 대항 하기 위해 서 는 위급 할 때 필요 한 징 크 스 를 사용 해 야 하기 때문에 당신 의 도움 이 필요 하 다.너 에 게 저주 사전 을 하나 줄 게.해리 가 징 크 스 를 들 었 을 때, 너의 프로그램 은 반드시 그 징 크 스 의 기능 을 알려 줘 야 한다.해 리 는 어떤 기능 이 필요 하지만 어떤 징 크 스 를 사용 해 야 할 지 모 를 때, 당신 의 프로그램 은 그 에 게 해당 하 는 징 크 스 를 찾 아야 합 니 다.만약 그 가 원 하 는 저주 가 사전에 없다 면, "what?" 를 출력 하 세 요.
 
Input
먼저 사전 에 100000 개가 넘 지 않 는 서로 다른 저주 단 어 를 보 여 줍 니 다. 각 형식 은 '저주' 대응 기능 중 '저주' 와 '대응 기능' 은 각각 길이 가 20 과 80 을 넘 지 않 는 문자열 입 니 다. 문자열 에는 문자 '[' 와 ']' 가 포함 되 어 있 지 않 고 ']' 와 뒤의 문자열 사이 에 빈 칸 만 있 습 니 다.사전 의 마지막 줄 은 '@ END @' 으로 끝 납 니 다. 이 줄 은 사전 의 단어 에 속 하지 않 습 니 다.사전 뒤의 한 줄 은 정수 N (< = 1000) 을 포함 하고 그 다음은 N 개의 테스트 용례 이다.각 테스트 용례 가 한 줄 을 차지 하거나 '[저주]' 를 주거 나 '대응 기능' 을 제시한다.
 
Output
모든 테스트 용례 의 출력 은 한 줄 을 차지 하고 출력 저주 에 대응 하 는 기능 이나 기능 에 대응 하 는 저주 입 니 다.저주 가 사전 에 없 으 면 "what?" 를 출력 합 니 다.
 
Sample Input
[expelliarmus] the disarming charm
[rictusempra] send a jet of silver light to hit the enemy
[tarantallegra] control the movement of one's legs
[serpensortia] shoot a snake out of the end of one's wand
[lumos] light the wand
[obliviate] the memory charm
[expecto patronum] send a Patronus to the dementors
[accio] the summoning charm
@END@
4
[lumos]
the summoning charm
[arha]
take me to the sky
 
Sample Output
light the wand
accio
what?
what?
 
제목 설명:
검색 기능 을 실현 할 수 있 도록 사전 을 드 리 겠 습 니 다.
사실 어 려 운 점 은 문제 의 뜻 이 아니 라 주로 입 출력 을 처리 하 는 데 있다.입 출력 gets()  ,그것 은 빈 칸 을 먹 을 수도 있 고 운전 자의 리 턴 도 먹 을 수 있 기 때문에 이 걸 로 먹고 분리 한 후에 처리 합 니 다.
기억 하기: 문자열 을 저장 하 는 배열 은 반드시 크게 열 어야 합 니 다!내 가 그것 때문에 몇 번 을 틀 렸 는데....................................................
코드 편:
#include 
#include 
#include 
using namespace std;

struct str{  //arr    brr    crr   
    char arr[25],brr[85],crr[110];  //emmmm         ,         
    int x;
} str[100005];

int main()
{
    char s[85];
    int n,m=1,i;
    while(gets(str[m].crr)){  //gest()    ,      
        if(str[m].crr[0] == '@')  //   @End@,  
            break;
        for( i=0; i

 
 
 

좋은 웹페이지 즐겨찾기