알고리즘 차량 연료 분석

문제의 의미

 

n 개의 킬로미터를 여행 할 수있는 차를 채 웁니다. 여행에 주유소가 있습니다. 그런데되도록 적은 수 따라 급유 주유소 급유 중지 지적되어야 효율적인 알고리즘을 설계. 소정의 N (N <= 5000) 및 K (K <= 1000), 가스 스테이션, 프로그램은 연료의 최소 개수를 계산한다. 요구 사항 :
입력 : 첫 번째 줄에 여행 할 수있는 자동차가 n 개의 km를 나타냅니다 채우기, 두 개의 양의 정수 N과 K를 가지고 있으며, 도로가 K 방송국이있다. 1의 다음 행에서, K + 1의 정수, k 번째 및 K-1 국 주유소 사이의 거리가있다. 0 이미 차를 작성 출발의 첫 번째 주유소를 나타냅니다. 제 K + 1 주유소 대상을 나타냈다.
출력 : 연료의 계산 된 최소 수를 프로그래밍. 당신이 목적지에 도달 할 수없는 경우, 출력 "아니 솔루션 없습니다."

코드

사용법 #include <iostream>

네임 스페이스를 사용하여 표준;

() {int로 메인
    N INT, K, I; INT * 스테이션;
    COUT << "연료 및 최대 이동량 주유소의 탱크를 채우기 위해 번호를 입력하세요";
    CIN >> N >> K; 새로운 역 = INT [K + 1];
    COUT은 << "개의 인접한 주유소까지의 거리를 입력하세요";
    대 (I = 0; I는 <= K; 내가 ++) CIN >> 스테이션 [I];
    INT S = 0, 번호 = 0; // 번호 레코드 번호 급유
    역 S = [0] // 원하는 이동량 후 채워
	대해 {// 나 방송국을 나타내는 번호 (i = 1; i가 ++; 나는 = K를 <). 1~7 대표적인 대형 충전소 2 것
		경우 (S> N) {COUT << "아니오 solutin 없다 !!"; 체류} // i가 스테이션에 도달 여부를 판단
		다른 {// 내가 방송국에 도달 할 수 있습니다
	  	    S가 S의 역 + [I]; // I + 1 원하는 운동에서 다음의 연료 스테이션
		   (S> N) {// 원하는 거리> N 만약
 		        숫자 ++; // 급유
		        역 S = [I] 다음 주유소 // 거리
		        COUT << "제"<< I << "주유소"<< ENDL;
		   }
		}
	}
	COUT << 번호 << ENDL;
	0을 반환;
   }

 

추천

출처www.cnblogs.com/khnl/p/11740335.html