Broken robot
关键
期望用倒退,采用高斯消元求解
代码
#include <bits/stdc++.h> using namespace std; const int M=1005; double a[M][M],f[M]; int n,m; void solve(int x) {//哪一行 for(int i=1;i<=m;i++) {//列出了m个方程组 if(i==1) { a[i][i]=2; a[i][i+1]=-1; a[i][m+1]=3+f[i]; } else if(i==m) { a[i][i]=2; a[i][i-1]=-1; a[i][m+1]=3+f[i]; } else { a[i][i]=3; a[i][i+1]=-1; a[i][i-1]=-1; a[i][m+1]=4+f[i]; } } for(int i=1;i<m;i++) {//这里需要变化就只有相邻的几项而已,所以可以o1进行消元 double p=a[i+1][i]/a[i][i]; a[i+1][i]=0; a[i+1][i+1]-=a[i][i+1]*p; a[i+1][m+1]-=a[i][m+1]*p; } f[m]=a[m][m+1]/a[m][m]; for(int i=m-1;i>=1;i--) f[i]=(a[i][m+1]-f[i+1]*a[i][i+1])/a[i][i]; } int main() { cin>>n>>m; int sx,sy; cin>>sx>>sy; if(m==1) printf("%.10lf\n",2.0*(n-sx)); else { for(int i=n-1;i>=sx;i--)solve(i); printf("%.10lf\n",f[sy]); } return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现