当前位置: 首页 > news >正文

东华萌新挑战赛 密室逃脱

点击查看代码
#include<bits/stdc++.h>using namespace std;bool check(int k,int n,const vector<vector<int> >& pos)
{//枚举所有可以作为障碍区的起始位置 for(int r=0;r<=n-k;r++){for(int c=0;c<=n-k;c++){bool val=true;//检查每一扇门for(int j=0;j<n;j++){//没钥匙就直接失败if(pos[j].empty()){val=false;break;} //检查这扇门在障碍区列范围的情况if(c<=j&&j<c+k){bool all_covered=true;for(int i=0;i<pos[j].size();i++){int row=pos[j][i];if(!(r<=row&&row<r+k)){all_covered=false;}}//如果所有位置都被覆盖,则这个位置不可以使用if(all_covered){val=false;break;}}}if(val) return true; }}return false;
}int main()
{int n;cin>>n;vector<vector<int> > g(n,vector<int>(n));vector<vector<int> > pos(n);//读入迷宫并存储钥匙位置 for(int i=0;i<n;i++){for(int j=0;j<n;j++){cin>>g[i][j];if(g[i][j]==1) pos[j].push_back(i);}}int l=0,r=n;	while(l<r){int mid=l+r+1>>1;if(check(mid,n,pos)){l=mid;}else r=mid-1;}cout<<l<<endl;}
使用了核心使用了暴力,最后对数据的遍历使用了一步二分减少复杂度(这是一个好习惯,对于100个数据,调用100次函数的计算量是很大的,使用二分能极大减少函数的调用次数,并不是简单的减少了90次计算,而是减少了90次调用,从10O(n……4)变成了,o(n……4) 以及本题使用的暴力逻辑,障碍块问题,用for(for())遍历障碍块可能出现的每一个位置,然后对于一个给定的k,对每一列检查再使用pos存储的钥匙范围求解,很原始的思维,我希望通过精妙的算法求解
点击查看代码
#include <bits/stdc++.h>
using namespace std;int n;
int a[105][105];
int b[105][105];bool check(int x, int y, int k)
{for(int i = y; i < y + k; i++)if(b[x+k-1][i] - b[x-1][i] >= b[n][i])return false;return true;
}int main()
{cin >> n;for(int i = 1; i <= n; i++){for(int j = 1; j <= n; j++){cin >> a[i][j];b[i][j] = b[i-1][j] + a[i][j];}}for(int k = n - 1; k > 0; k--)for(int x = 1; x + k - 1 <= n; x++)for(int y = 1; y + k - 1 <= n; y++)if(check(x, y, k)){cout << k << endl;return 0;}cout << 0 << endl;return 0;
}
http://www.jsqmd.com/news/55547/

相关文章:

  • 第40天(中等题 数据结构)
  • 核心功能详解
  • 2025-11-30-Nature Genetics | 本周最新文献速递
  • 效果-Element 3D
  • 2025苏州餐饮公司测评:苏州会议餐配送选这些,全区域超省心
  • 2025苏州承包食堂找哪家?苏州食堂承包优选清单
  • 2025不锈钢阀门厂家推荐:从口碑榜到销量榜清单在此
  • 2025脱酸脱盐设备公司有哪些:物料脱盐服务商优选指南
  • 2025隔音窗户哪个牌子好:广州隔音窗户哪家好盘点大测评
  • 截止阀厂家哪家好?2025截止阀品牌排行榜
  • 2025全自动吸吮式过滤器推荐厂家榜单
  • 旋片真空泵厂家有哪些2025真空系统厂家推荐
  • dotnet-dump安装、收集dump和崩溃自动收集dump
  • 虚拟机运行Vivado,部分界面显示不完全的问题
  • 《程序员修炼之道》笔记五
  • 商店礼包条目常用API
  • 《程序员修炼之道》笔记六
  • 账号诞生了,用做工作记录
  • 《程序员修炼之道》笔记四
  • wildshark
  • 后来,他长大了
  • 11月第三篇笔记
  • 11月29日总结 - 作业----
  • 11.29(2)
  • Go 语言与 Tesseract 实现验证码自动解析
  • Go 语言结合 Tesseract OCR 进行验证码识别
  • WordPress FindAll Membership插件身份验证绕过漏洞分析
  • 《程序员的修炼之道:从小工到专家》读后感一
  • we_will_rockyou
  • 11.29(1)