• 【迷宫问题】CodeForces 1292A A NEKO's Maze Game


    题目大意

    vjudge链接

    共两行,从(1,n)到(2,n)。

    每过一个时刻会有一个位置的状态变化,从能到达这个位置变成不能到达,或从不能到达变成能到达,问在每个时刻中是否能从起点到终点。

    数据范围

    2≤n≤105,询问1≤q≤105

    样例输入

    5 5
    2 3
    1 4
    2 4
    2 3
    1 4

    样例输出

    Yes
    No
    No
    No
    Yes

    思路

    若a[1][y]存在障碍的话,需要a[2][y-1]或a[2][y]或a[2][y+1]存在障碍才无法通过。

    若a[2][y]存在障碍同理。

    因此两两一组,用cnt计数,存在一组++,消失一组--,最后cnt为0就输出Yes。

    代码

     1 #include <stdio.h>
     2 int a[3][100100];
     3 int n,q,x,y;
     4 
     5 int main(){
     6     scanf("%d%d",&n,&q);
     7     int cnt=0;
     8 
     9     while(q--){
    10         scanf("%d %d",&x,&y);
    11         if(!a[x][y]){
    12             a[x][y]=1;
    13             if(a[3-x][y+1])cnt++;
    14             if(a[3-x][y])cnt++;
    15             if(a[3-x][y-1])cnt++;
    16         }else{
    17             if(a[3-x][y+1])cnt--;
    18             if(a[3-x][y])cnt--;
    19             if(a[3-x][y-1])cnt--;
    20             a[x][y]=0;
    21         }
    22         
    23         if(cnt)printf("No
    ");
    24         else printf("Yes
    ");
    25     }
    26 }
    CF 1292A
  • 相关阅读:
    敏捷开发方法综述
    RBAC权限控制系统
    Thinkphp 视图模型
    Thinkphp 缓存和静态缓存局部缓存设置
    Thinkphp路由使用
    Thinkphp自定义标签
    异步处理那些事
    Thinkphp 关联模型
    Thinkphp 3.1. 3 ueditor 1.4.3 添加水印
    数据库组合
  • 原文地址:https://www.cnblogs.com/Midoria7/p/12638356.html
Copyright © 2020-2023  润新知