题解:B4584 [合肥市小学组 2026 T4] 信号接力
xiaomi1026 · · 题解
思路
显然,最优方案就是将最短路外所有工作的中继器关闭。也就是说本题答案就是最短路外所有工作的中继器的数量。
由于此题信号网只有
代码
#include<bits/stdc++.h>
using namespace std;
char c[3][2010];
int main(){
long long n,cnt=0;
cin>>n;
for(int i=1;i<=2;i++){
for(int j=1;j<=n;j++){
cin>>c[i][j];
if(c[i][j]=='#') cnt++;
}
}
c[1][n+1]='#';//边界处理。
long long dx=1,dy=1,Cnt=0;
while(dx!=2||dy!=n){
Cnt++;
if(c[dx][dy+1]=='.') dy++;
else{
if(dx==2) dx=1;
else dx=2;
}
}
Cnt++;//注意最短路要记入终点。
cout<<2*n-Cnt-cnt;
return 0;
}