블 루 브리지 컵-[역대 시험 문제]동전 뒤 집기(욕심)

제목 링크:http://lx.lanqiao.cn/problem.page?gpid=T29 시간 제한:1.0s 메모리 제한:256.0MB
문제 설명
샤 오 밍 은 동전 뒤 집기 놀 이 를 하고 있다.
책상 위 에 동전 몇 개가 일렬 로 놓 여 있다.우 리 는*로 정면 을 표시 하고 o 로 뒷면 을 표시 합 니 다.
예 를 들 어 가능 한 상황 은:*oo**oooo
왼쪽 동전 두 개 를 동시에 뒤 집 으 면 oooo**oooo 로 변 합 니 다.
현재 샤 오 밍 의 문 제 는 초기 상태 와 달성 해 야 할 목표 상 태 를 알 고 있다 면 매번 인접 한 동전 두 개 만 동시에 뒤 집 을 수 있다 면 특정한 국면 에 대해 적어도 몇 번 은 뒤 집 어야 하 는가?
우 리 는 이웃 에 있 는 동전 두 개 를 한 걸음 조작 이 라 고 부 르 기로 약속 했다.그러면 요구:
입력 형식
두 줄 의 같은 문자열 은 각각 초기 상태 와 달성 할 목표 상 태 를 나타 낸다.줄 당 길이<1000
출력 형식
하나의 정 수 는 최소 조작 보 수 를 나타 낸다.
샘플 입력
********** o****o****
*o**o***o*** *o***o**o***
샘플 출력
5 1
문제 풀이 의 사고 방향.
한 개 씩 판단 하면 됩 니 다.다 르 면 뒤 집어 보 세 요.두 개의 동전 을 한 개 씩 뒤 집 는 것 이기 때문에 다음 문자 도 처리 해 야 합 니 다.
#include 
#include 
char str1[1005], str2[1005];
int main() {
    int len, ans = 0;
    scanf("%s%s", str1, str2);
    len = strlen(str1);
    for (int i = 0; i < len; i++) {
        if (str1[i] != str2[i]) {
            ans++;
            if (str2[i + 1] == 'o')
                str2[i + 1] = '*';
            else str2[i + 1] = 'o';
        }
    }
    printf("%d
", ans); return 0; }

좋은 웹페이지 즐겨찾기