주제 링크 : https://www.lydsy.com/JudgeOnline/problem.php?id=1008
간단한 조합 타이틀 수는 프로그램의 전체 개수와 동일한 수의 프로그램 번호 탈출 할 수 - 프로그램 번호는 다음 벗어날 수 있습니다 :
같은 프로그램의 총 수는 : M N- .
우리는 프로그램 번호 m의 * (m-1)를 피할 수없는 N-1 (각각은 N-1 m-1 화합물 선택된 방법 후에, 첫 번째 방법에서 선택되는 개인 m 유형).
#INCLUDE <비트 / stdc ++ H.> 사용 스페이스 성병; 타입 정의 긴 긴 LL; CONST 두 EPS 1e- = 8 ; CONST LL INF 9e18 = + 7 ; CONST의 INT maxn = 5e5 + (10) ; 인라인 () {읽어 버리는 LL N = 0 , F = 1 ; 숯 CH = getchar가 (); 동안 (CH2 < ' 0 ' || CH> ' 9 ' ) {F = - 1 , CH = getchar가 (); } 동안 (CH2> = ' 0 ' && CH <= ' 9 ' ) {N = N * 10 + CH - ' 0 ' , CH = getchar가 (); } 리턴 N 개의 *의 F 단계; } LL qpow의 (a -1,11,11- B를 LL 모드) { LL ANS = 1 ; % = 개조; 반면 (b) { 경우 (B & 1 ) ANS = *는 ANS %의 모드; = A *는 %의 모드; B >> = 1 ; } 반환 ANS; } INT 의 main () { LL의 m, n은; m = N) (= 판독 판독 (); 의 printf ( " % LLD \ 없음 " (qpow (m, N, 100003 ) -의 m *의 qpow (m - 1 , N - 1 , 100003 ) % 100003 + 100003 ) % 100,003 ); }