[AGC029D] Grid game题解
这题很显然可以用贪心来解。
由于先手不动一定会让局数更少,所以先手要能动就动。
而后手一定是希望他的石子可以撞到一个障碍物上,这样先手就无法移动了,后手就可以让局数更少。
因为先手一定会能动就动,所以后手只能走到横坐标大于纵坐标的障碍物上方。那就很简单了,我们只需要统计符合特点的障碍物即可。
code:
bool mp[200001][200001];//存图 pair<long long,long long> a[555555];//一个结构体,有两个元素,一个叫first,一个叫second long long col[555555]={0,1};//第i行有几个可到达的列 long long ret; int main() { int n,m,k; cin>>n>>m>>k; ret=n; for(int i=1;i<=k;i++) { cin>>a[i].first>>a[i].second;//障碍物的位置 mp[a[i].first][a[i].second]=true; } long long sum=1; for(int i=2;i<=n;i++) { if(!mp[i][sum+1]&&sum<m)//高木最优策略 { sum++; } col[i]=sum; } for(int i=1;i<=k;i++) { if(col[a[i].first]>=a[i].second) { ret=min(ret,a[i].first-1);//统计答案 } } cout<<ret; return 0; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤