题目直接找链接

题意:

  有一个2*n大的平面,有的格子不能走,有的格子可以走,最初状态所有格子都可以走,有q个操作,每个操作都把某个格子变化一下:能走变不能走,不能走变能走,输出每次操作之后能否从1,1到

2,n。合法的走法:有共同边的格子可以相互到达。

solve:

  思维题,考虑一下有什么特殊的性质吧:怎样快速的判断能不能到达呢,其实很简单:只要有一个“卡死”的就过不去,没有“卡死”的就可以过去,什么叫“卡死”呢,想一想,只要有对角线相邻的或者上下相邻的不能走的格子,就“卡死”了。

  ps:我们学OI的可不能有一个卡死的就过不去了,我们要学会转换,解决问题,“跳一跳”把“卡死”的格子跳过去,就算都是“卡死”的,我们也要努力通过,正如:不拼一把,怎么知道自己有多优秀,我们OIer要有“所向隔山海,山海皆可平”的信念,要有“明知山有虎,偏向虎山行”的勇气,要有“舍我其谁”的信心。这才是OI该有的样子嘛,想这种有一个对角线卡住就过不去了,不是我们的性格。

  说多了。。。,回到题目:那我们要做什么呢?记录有多少卡死的,然后判断,如果有卡死的,那么它肯定过不去,如果没有卡死的,那么就能过去。怎么记录呢?方法可能很多,我随便举一种:记录每个格子的状态,每改变一个格子,就看可能构成死路的格子的状态,然后再进行判断,更新一共有多少个卡死的数目,更新完之后,判断一下有没有卡死的就可以了。

  还有一个小小的问题:1,1or2,n是不能通过的格子怎么办呢,仔细研读一下原题,这样应该也是不可以的,所以我们再加一个特判就可以了。

  ps:翻译的时候要注意,你粘贴到翻译器上的105很有可能变成105,这个还好,算法想对了影响不大,有的数据109(算上加和很有可能超int)变成了109,于是你的用的int,于是就。。。

#include <cstdio>
const int maxn=1e5+;
bool zt[maxn][];
int x[]={-,-,,,,};//算是一个小技巧吧,大家应该都会。
int y[]={-,,-,,-,};
int main(){
int dd=;
int n,q;
scanf("%d%d",&n,&q);
int js1,js2;
for(int i=;i<=q;i++){
scanf("%d%d",&js2,&js1);
zt[js1][js2]=!zt[js1][js2];
if(zt[js1][js2])
for(int i=;i<;i++)
if(js1+x[i]>=&&js1+x[i]<=n&&js2+y[i]>=&&js2+y[i]<=)
if(zt[js1+x[i]][js2+y[i]])
dd++;
if(!zt[js1][js2])
for(int i=;i<;i++)
if(js1+x[i]>=&&js1+x[i]<=n&&js2+y[i]>=&&js2+y[i]<=)
if(zt[js1+x[i]][js2+y[i]])
dd--;//这两个循环应该是可以合并的,不过我感觉这样写可能更好理解一些
if(!dd&&!zt[][]&&!zt[n][])
printf("Yes\n");
else
printf("No\n");
}
return ;
}

最新文章

  1. iOS面试用到的一些知识点和技术
  2. MVC EF中Attach和Entry区别
  3. mysql之存储引擎
  4. oracle 行转列问题
  5. javaweb学习总结(三十四)——使用JDBC处理MySQL大数据
  6. values of type NSInteger should not be used as format arguments; 关于Xcode中烦人的32位与64位警告处理方法.
  7. 手动更改WIN远程桌面端口,要改两个地方的注册表哟
  8. android之apk自动更新解析包失败问题
  9. DiskFileUpload类别
  10. AutoMapper5.0创建对象方法更新
  11. Pycharm远程调试服务器代码(使用Pipenv管理虚拟环境)
  12. SQL Server 2016新特性:In-Memory OLTP
  13. js实现十分钟内在页面无任何操作,页面跳转至登陆页
  14. Oracle出现高占内存的解决办法:
  15. 开源数据同步神器——canal
  16. python nose测试框架全面介绍十---用例的跳过
  17. FreeMarker生成Word文档
  18. install virtualenv
  19. BZOJ2288:[POJ Challenge]生日礼物——题解
  20. Geek荣耀大会总结

热门文章

  1. 总结:Jmeter常用参数化方式
  2. CICD | Jenkins &amp; Gitlab集成:WebHook触发构建
  3. 运行ABP(asp.net core 3.X+Vue)提示&#39;OFFSET&#39; 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。
  4. LeetCode 75,90%的人想不出最佳解的简单题
  5. 免费 IP 代理池示例
  6. Python 抓取网页tag操作
  7. Photoshop 使用过程中遇到的问题
  8. Windows下C,C++开发环境搭建指南
  9. docker中mongdb常用操作
  10. 个人工作用SQL短句,不定时更新