루오 구 P3197 문제에 [HNOI2008] 탈옥 용액

루오 구 P3197 [HNOI2008] 탈옥

연속 • 교도소 1 ... N N 실의 번호, 각 객실은 M 종교가, 죄수를 개최, 각 종교 죄수 중 하나가 될 수 있습니다. 인접한 방에있는 같은 종교 포로, 그것은 탈출 할 수 있다면, 상태 이스케이프가 발생할 수 있습니다 얼마나 많은 찾을 수 있습니다.
자신의 손에 따라이 질문의 ROS는 온라인 교육의 개념은 누르시기.
ROS 설명 :
먼저 훑어 처음 모습을 추구 : M ^ N (^ 전력을 위해서 기호) ①
그럼 우리가 더 어려워 탈출을 추구하지 얼마나 많은 상태를 발견했다.
"어려운되는 것은 반대"그 그것을 좋아하지 않아!
많은 경우에 탈출하는 방법에 대해 물어.
하나 개의 배열의 경우, 그것은 단지 탈옥과 두 경우를 탈출하지 않을 것입니다.
따라서, 경우의 수는 탈출하지 않습니다 =의 경우 총 수 - 경우의 수는 피할 것
어떻게 좋은 우리는 탈출을 찾을 것이다 경우의 수를 봐주세요.
곱셈의 원리에 따르면 있습니다 :
개인적으로, 그는 첫번째 M 종교를 선택할 수 있었다
개인적으로, 두 번째와 첫 번째 사람을 위해 그는 M-1 종교를 선택할 수있다, 그래서 같은 종교를 선택할 수 없습니다
M-1 종교를 선택할 수있다, 그래서 세 번째 개인은, 그는 두 번째 사람과 같은 종교를 선택할 수 없습니다
.
.
.
따라서, 곱셈의 원리에 따라 있습니다 :
번호의 상황은 피할 것 : N * (M-1) ^ (N-1) (^ 전력을 위해서 기호) ②
- ② ①에 따라서 충분히!
그것은 간단하지 않다!
 
ROS 코드 루오 구에 좋음, 처음 10 분이 질문에 넣었습니다. . . .
각각의 결과에 대한 원래의 계수는 오버 플로우 (또는 부정적인 결과를 획득) 문제점 초래하지 않았다.
각각의 모듈로 변경 그것이 좋은 결과.
 
그런 다음 두 번째 70 분 제출합니다.
이것은 무슨 일입니까?
((KSM (m-1, N - 마지막 토론보기는 C ++ metaphisical 모듈 결과, 우리는 원래 ((KSM (m, n)이 ESP %)의 최종 단계 (단계 출력 않음)을 필요로하는 결과 ((KSM (m-1, N-1) % ESP) * m) % ESP + ESP) % - -1) ESP %) * m)) %가 ESP % ESP) ((KSM (m, n)을 변경 ESP 제외 형이상학 용액 방지
전체 AC 코드 :
1 #INCLUDE <비트 / stdc ++ H.>
 2 #DEFINE ESP 100003
 3 #DEFINE 긴 긴 버리는 4 이용한 스페이스 성병; 5 LL의 m, n은; 6 LL KSM (LL의 B, A LL) { 도 7 의 경우의 (A == 1 || == 0) 돌려 a 및 도 8 (b == 경우 1) 반환 단계; 도 9 (b 경우 == 0) 돌려 1 ; 10 LL TMP = KSM (A, B / 2 ); 도 11 (b 및 경우 1) 창 (ESP TMP의 %) * (ESP TMP %) * % ESP (ESP %) % ESP; 12 창 (ESP TMP %) * (ESP TMP %)의 % ESP;13 } 14 INT 의 main () { 15는 scanf ( " % LLD % LLD ", m, N); 16의 printf ( " %의 LLD "((KSM (m, N) % ESP) - ((KSM (M- 1, N- ESP 1) %) * m) ESP + ESP %) % ESP); 17 반환 0 ; 18}

적은 코드 만 내용을 생각하는 것은 여전히 ​​존재한다.

 

추천

출처www.cnblogs.com/robertspot/p/12417058.html