로곡P1002 하졸 입문dp
1676 단어 dp
[생각]:
dp[i][j]=dp[i-1][j]+dp[i][j-1]
[주의]
말이 도착할 수 있는 위치의 값은 0이다
[경계 위치]
말이 초기 위치에 도달하지 못하면 dp[0][0]=1
만약 "말의 위치"가 왼쪽에 있다면, 그 위에는 모두 0 이다
"말 위치"가 아래쪽에 있으면 오른쪽이 모두 0입니다
[코드]
#include
#define fuck(x) std::cout<"<=0) {
vis[x+2][y-1]=1;
mp[x+2][y-1]=0;
}
if(y-2>=0) {
vis[x+1][y-2]=1;
mp[x+1][y-2]=0;
}
if(x-1>=0) {
vis[x-1][y+2]=1;
mp[x-1][y+2]=0;
}
if(x-2>=0) {
vis[x-2][y+1]=1;
mp[x-2][y+1]=0;
}
if(x-2>=0&&y-1>=0) {
vis[x-2][y-1]=1;
mp[x-2][y-1]=0;
}
if(x-1>=0&&y-2>=0) {
vis[x-1][y-2]=1;
mp[x-1][y-2]=0;
}
}
int main() {
int bx,by;
scanf("%d%d",&bx,&by);
int mx,my;
scanf("%d%d",&mx,&my);
ch(mx,my);
for(int i=0; i<=bx; i++) {
if(vis[i][0]==0) {
mp[i][0]=1;
vis[i][0]=1;
}
else break;
}
for(int i=1; i<=by; i++) {
if(vis[0][i]==0) {
mp[0][i]=1;
vis[0][i]=1;
}
else break;
}
for(int i=1; i<=bx; i++) {
for(int j=1; j<=by; j++) {
if(vis[i][j])
continue;
mp[i][j]=mp[i-1][j]+mp[i][j-1];
}
}
printf("%lld
",mp[bx][by]);
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【경쟁 프로 전형적인 90문】008의 해설(python)의 해설 기사입니다. 해설의 이미지를 봐도 모르는 (이해력이 부족한) 것이 많이 있었으므로, 나중에 다시 풀었을 때에 확인할 수 있도록 정리했습니다. ※순차적으로, 모든 문제의 해설 기사를 들어갈 예정입니다. 문자열...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.