0
已解决
侯平仄
新手天翼
新手天翼
请问5102题我怎么错了:
#include<iostream>
#include<map>
#include<bits/stdc++.h>
typedef unsigned long long ull;
using namespace std;
int n,cnt,m,x,y;
map<ull,map<ull,ull> >f,ma;
int main(){
cin>>n>>m>>x>>y;
ma[x+2][y+1]=1;
ma[x+1][y+2]=1;
ma[x-1][y+2]=1;
ma[x-2][y+1]=1;
ma[x+2][y-1]=1;
ma[x+1][y-2]=1;
ma[x-1][y-2]=1;
ma[x-2][y-1]=1;
f[0][0]=1;
for(int i=0;i<=n;i++){
for(int j=0;j<=m;j++){
if(i==x||j==y||ma[i][j]) continue;
if(i==0&&j==0) continue;
int sum=0;
for(int k=0;k<=i;k++){
sum+=f[k][j];
}
for(int k=0;k<=j;k++){
sum+=f[i][k];
}
f[i][j]=sum;
// cout<<sum<<' ';
}
// cout<<endl;
}
cout<<f[n][m];
}
0
已采纳
王泽宇
初级光能
初级光能
cin>>n>>m>>x>>y;
a[x][y]=1;
for(int i=0;i<8;i++){
int dx=dir[i][0]+x,dy=dir[i][1]+y;
if(dx>=0&&dx<=n&&dy>=0&&dy<=m){
a[dx][dy]++;
}
}
f[0][0]=1;
for(int i=0;i<=n;i++){
for(int j=0;j<=m;j++){
if(a[i][j]==1||i==0&&j==0) continue;
f[i][j]=hs(i,j);
}
}
cout<<f[n][m];
hs():
int sum=0;
for(int i=0;i<=x;i++){
sum+=f[i][y];
}
for(int j=0;j<=y;j++){
sum+=f[x][j];
}
return sum;
王泽宇在2020-08-07 09:37:11追加了内容
作业啊~~~~
望采纳
王泽宇在2020-08-07 09:37:32追加了内容
dir
自己写
王泽宇在2020-08-07 09:38:12追加了内容
上课代码你不用,用个map,比错
1
0
0