루오 구가 링크 : https://www.luogu.com.cn/blog/jvruo-0076/solutiun-p1004
사실이 질문은, 간단 간단하지 않다나를 위해, 즉 어려운 어려운 일이 아니다당신을 위해.
사실,이 문제는 당신이 최고의 가치를 찾을 수 있도록하는 것입니다. 즉
~~~
F [I]를 [J] [L] [K] = 최대 (최대 (F [I -. 1] [J] [L -. 1] [K], F [I] [J -. 1] [L] [K-1] ), 최대의 (f [I - 1] [J] [L] [K - 1], F [i]는 [J - 1] [1 - 1 [K])) + 이 D [I]는 [J]
~ ~ ~
이것은 앞 뒷면을 처리하는 데 문제가 그것을 어떻게 되는가?
~~~
그동안 (CIN Y는 X >> >> && X S)
, D [X] [Y] = S
~~~
여기 읽을 하였다나를 포함어떤 호출 동안 (CIN X >> >> >> Y S && X) 그것?
입니다 :
여기에 입력, 심판주기의 조합. 수단은 입력이 X, Y는, X는 그렇다면 순환되어 있는지의 여부를 판정한다 0이한다. 이 동등
~~~
A123 :
CIN X >> >> S Y;
IF (! X = 0) // 또는 IF (X)
{
... // (생략)
GOTO A123;
}
~~~
무엇입니까? A123, 고토 A123, 그들은 무엇입니까?
이러한 :
문자로 구성된 설정, 번호, 이름 (예를 들어, A123, kkksc03, zhentanshu666), 플러스 고토에 사용되는 이름은, 프로그램의 일부는 후자의 이름으로 이동합니다.
참고 : 나는 재판 A123을하지 않는 것이 좋습니다, 고토 A123, 이러한 절차는 몇 가지 문제를 피하기 위해
예를 들어 결함 평가 기계 컴파일 오류가 발생하거나하지 루프 밖으로 이동합니다. 일부 리뷰 사이트에서 같은 단어는 "유효하지 않은 포인터 드리프트 '로 취급 될 것이다
음, ... 멀리 당겨
최종 출력, 완벽한 끝을.
암호
#include<bits/stdc++.h>
using namespace std;
int n, i, j, l, k, x, y, s;
int d[55][55], f[55][55][55][55];
int main()
{
cin>>n;
while(cin>>x>>y>>s && x)
d[x][y] = s;
for(i = 1; i <= n; i++)
for(j = 1; j <= n; j++)
for(l = 1; l <= n; l++)
for(k = 1; k <= n; k++)
{
f[i][j][l][k] = max(max(f[i - 1][j][l - 1][k], f[i][j - 1][l][k-1]), max(f[i - 1][j][l][k - 1], f[i][j - 1][l - 1][k])) + d[i][j];
if(i != 1 && j != k) f[i][j][l][k] += d[l][k];
}
printf("%d", f[n][n][n][n]);
return 0;
}
마지막으로, 그는 문장을 말했다 :
나는, 당신이 손가락 희망 나를 따르라!
안녕!