mirror of
https://gitcode.com/Zengtudor/alg2025.git
synced 2025-12-16 12:13:03 +00:00
refactor(P9014.cpp): 修复坐标计算逻辑并移除调试输出
修复坐标计算中的运算符优先级问题,将调试用的printf语句注释掉以保持代码整洁
This commit is contained in:
parent
3db3b11d46
commit
8441937c61
@ -27,20 +27,20 @@ int main(){
|
|||||||
ll x=i,y=j;
|
ll x=i,y=j;
|
||||||
while(x<=n && y<=n){
|
while(x<=n && y<=n){
|
||||||
cnt[x][y]++;
|
cnt[x][y]++;
|
||||||
ll nx = x+c[x][y]=='D', ny = y+c[x][y]=='R';
|
ll nx = x+(c[x][y]=='D'), ny = y+(c[x][y]=='R');
|
||||||
x=nx,y=ny;
|
x=nx,y=ny;
|
||||||
}
|
}
|
||||||
printf("%lld, %lld add %lld\n",i,j,x>n?d[y]:r[x]);
|
// printf("%lld, %lld add %lld\n",i,j,x>n?d[y]:r[x]);
|
||||||
ans+= x>n?d[y]:r[x];
|
ans+= x>n?d[y]:r[x];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for(ll i=1;i<=n;i++){
|
// for(ll i=1;i<=n;i++){
|
||||||
for(ll j=1;j<=n;j++){
|
// for(ll j=1;j<=n;j++){
|
||||||
printf("%lld ",cnt[i][j]);
|
// printf("%lld ",cnt[i][j]);
|
||||||
}
|
// }
|
||||||
printf("\n");
|
// printf("\n");
|
||||||
}
|
// }
|
||||||
printf("\n");
|
// printf("\n");
|
||||||
std::cin>>q;
|
std::cin>>q;
|
||||||
std::cout<<ans<<"\n";
|
std::cout<<ans<<"\n";
|
||||||
while(q--){
|
while(q--){
|
||||||
@ -51,29 +51,29 @@ int main(){
|
|||||||
y+=c[i][j]=='R';
|
y+=c[i][j]=='R';
|
||||||
while(x<=n && y<=n){
|
while(x<=n && y<=n){
|
||||||
cnt[x][y]-=cnt[i][j];
|
cnt[x][y]-=cnt[i][j];
|
||||||
ll nx = x+c[x][y]=='D', ny = y+c[x][y]=='R';
|
ll nx = x+(c[x][y]=='D'), ny = y+(c[x][y]=='R');
|
||||||
x=nx,y=ny;
|
x=nx,y=ny;
|
||||||
}
|
}
|
||||||
ans-=cnt[i][j]*(x>n?d[y]:r[x]);
|
ans-=cnt[i][j]*(x>n?d[y]:r[x]);
|
||||||
printf("tmp ans=%lld\n",ans);
|
// printf("tmp ans=%lld\n",ans);
|
||||||
c[i][j]=c[i][j]=='R'?'D':'R';
|
c[i][j]=c[i][j]=='R'?'D':'R';
|
||||||
x=i,y=j;
|
x=i,y=j;
|
||||||
x+=c[i][j]=='D';
|
x+=c[i][j]=='D';
|
||||||
y+=c[i][j]=='R';
|
y+=c[i][j]=='R';
|
||||||
while(x<=n && y<=n){
|
while(x<=n && y<=n){
|
||||||
cnt[x][y]+=cnt[i][j];
|
cnt[x][y]+=cnt[i][j];
|
||||||
ll nx = x+c[x][y]=='D', ny = y+c[x][y]=='R';
|
ll nx = x+(c[x][y]=='D'), ny = y+(c[x][y]=='R');
|
||||||
x=nx,y=ny;
|
x=nx,y=ny;
|
||||||
}
|
}
|
||||||
printf("x=%lld, y=%lld\n",x,y);
|
// printf("x=%lld, y=%lld\n",x,y);
|
||||||
ans+=cnt[i][j]*(x>n?d[y]:r[x]);
|
ans+=cnt[i][j]*(x>n?d[y]:r[x]);
|
||||||
std::cout<<ans<<"\n";
|
std::cout<<ans<<"\n";
|
||||||
for(ll i=1;i<=n;i++){
|
// for(ll i=1;i<=n;i++){
|
||||||
for(ll j=1;j<=n;j++){
|
// for(ll j=1;j<=n;j++){
|
||||||
printf("%c ",c[i][j]);
|
// printf("%c ",c[i][j]);
|
||||||
}
|
// }
|
||||||
printf("\n");
|
// printf("\n");
|
||||||
}
|
// }
|
||||||
printf("\n");
|
// printf("\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user