0

동적 프로그래밍을 배우고 있습니다. 나는 일반적인 문제들 중 하나 인 boolean 괄호 안에왔다.부울 괄호의 개수를 계산하는 데 오류가있어서 표현식이 true로 평가됩니다.

T(i;j) = SIGMA T(i; k)T(k + 1; j)             if ok =and 
       (T(i; k) + F(i; k))(T(k + 1; j) + F(k + 1; j)) + F(i; k)F(k + 1; j) if ok =or 
       T(i; k)F(k + 1; j) + F(i; k)T(k + 1; j)        if ok =xor 

where T is for True and F is for false. Similar expression for False. ok denotes operator at position k. 

내가이 프로그램을 [링크 제거] 썼다, 그러나 그것은 내가/undrstand을 찾지 못했습니다 몇 가지 버그가 있습니다 나는 다음과 같은 관계를 사용하고 있습니다. 제 실수를 지적하겠습니다. 또한 Dynamic Prog. 또한 환영합니다.

편집 : DP에 대한 연구 자료에 대한

got my mistake. the getchar() was causing string to be modified.Thanks for viewing. 
+1

어떤 종류의 버그입니까? ... 더 구체적으로 말하십시오 ... –

+0

@RaviGupta : the prog. 예상 결과를 제공하지 못했습니다. 그러나 sukun007은 오른쪽을 지적했다. 원래 문자열을 수정하고 있던 루프 안에서 getchar()을 사용하고있었습니다. – Bond

답변

0

. topcoder 튜토리얼과 언급 된 문제를 확인하십시오. MIT의이 링크는 훌륭합니다 : http://people.csail.mit.edu/bdean/6.046/dp/

하나의 버그는 getline과 getchar의 사용입니다. 문자열을 간단하게 인쇄하고 올바르게 찍히지 않았 음을 확인할 수 있습니다.

+1

감사합니다. 그게 그 버그 야. 그리고 링크에 감사드립니다. :) – Bond