Codeforces Round #663 (Div. 2) B. Fix You

本文介绍了一种算法,用于计算在给定的n*m矩阵中,从起点到终点仅能向下或向右移动的情况下,如何通过最少的修改使路径不越界。算法分析了可能越界的边界条件,并提供了一个具体的实现方案。

给你一个n,m的矩阵,n,m是终点,是C,其他点是D就代表往下走,R就代表往右走,需要你任意修改几个点,保证不出这个矩阵,问你最少修改次数

既然只有往下和往右走,那其实只有可能在右边界和下边界出去,所以枚举右边界的点,假如是R就改成D,枚举下边界的点,假如是D就改成R

string s1[105];
int n,m,T;
int main()
{
	cin>>T;
	while(T--)
	{
		int ans=0;
		cin>>n>>m;
		rep(i,0,n)
		{
//			rep(i,0,m)
			cin>>s1[i];
		}
		rep(i,0,m)
		{
			if(s1[n-1][i]=='D')
			s1[n-1][i]='R',ans++; 
		}
		rep(i,0,n)
		{
			if(s1[i][m-1]=='R')
			s1[i][m-1]='D',ans++;
		}
		cout<<ans<<"\n";
	}
	return 0;
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值