题目:http://codeforces.com/problemset/problem/1236/D
思路:机器人只能按照→↓←↑这个规律移动,所以在当前方向能够前进的最远处即为界限,到达最远处右转,并且下次在该方向无法再移动到更远的地方,因此按照→↓←↑模拟即可,每次移动更新界限 ,无法移动则结束(第一次无法移动可右转,n*m会爆int)
          障碍用set存,每次二分寻找能到达最远的地方,并与界限比较

#include<bits/stdc++.h>

using namespace std;

#define pb push_back
#define fi first
#define se second
#define mem(i,j) memset(i,j,sizeof(i))

typedef long long ll;
typedef pair<int,int>pii;

;

ll n,m;
int k;
int a,b;
set<int>x[maxn],y[maxn];

int main()
{
    scanf("%I64d%I64d%d",&n,&m,&k);
    ;i<=k;i++)
    {
        scanf("%d%d",&a,&b);
        x[a].insert(b);
        y[b].insert(a);
    }
    ;
    ,yy=;
    ll cnt=;
    int t;
    ,maxx=n,miny=,maxy=m;
    )
    {
        )
        {
            t=yy;
            auto it=x[xx].lower_bound(yy);
            if(it==x[xx].end()) yy=m;
            ;
            if(yy>maxy) yy=maxy;
            maxy=yy-;
            &&xx!=&&yy!=) break;
            cnt+=yy-t;
        }
        )
        {
            t=xx;
            auto it=y[yy].lower_bound(xx);
            if(it==y[yy].end()) xx=n;
            ;
            if(xx>maxx) xx=maxx;
            maxx=xx-;
            ) break;
            cnt+=xx-t;
        }
        )
        {
            t=yy;
            auto it=x[xx].lower_bound(yy);
            ;
            ;
            if(yy<miny) yy=miny;
            miny=yy+;
            ) break;
            cnt+=t-yy;
        }
        )
        {
            t=xx;
            auto it=y[yy].lower_bound(xx);
            ;
            ;
            if(xx<minx) xx=minx;
            minx=xx+;
            ) break;
            cnt+=t-xx;
        }
        ;}
        turn=(turn+)%;

    }
    printf("No\n");
    ;
} 

Codeforces Round #593 (Div. 2) D. Alice and the Doll的更多相关文章

  1. Codeforces Round #593 (Div. 2)

    传送门 A. Stones 签到. B. Alice and the List of Presents 单独考虑每个数的贡献即可. 答案为\((2^{m}-1)^n\). C. Labs 构造就类似于 ...

  2. Codeforces Round #201 (Div. 2) - C. Alice and Bob

    题目链接:http://codeforces.com/contest/347/problem/C 题意是给你一个数n,然后n个数,这些数互不相同.每次可以取两个数x和y,然后可以得到|x - y|这个 ...

  3. Codeforces Round #593 (Div. 2) C. Labs A. Stones

    题目:https://codeforces.com/contest/1236/problem/A 思路:两种操作收益都是3 且都会消耗b 操作2对b消耗较小 则可优先选择操作2 再进行操作1 即可得到 ...

  4. Codeforces Round #593 (Div. 2) C. Labs

    题目:https://codeforces.com/contest/1236/problem/C 思路:将 n ^ 2 个 lab 平分为 n 个 group group A 和 B 组成的 有序对 ...

  5. Codeforces Round #593 (Div. 2)D(螺旋形模拟)

    #define HAVE_STRUCT_TIMESPEC#include<bits/stdc++.h>using namespace std;vector<int>po[100 ...

  6. Codeforces Round #557 (Div. 1) 简要题解

    Codeforces Round #557 (Div. 1) 简要题解 codeforces A. Hide and Seek 枚举起始位置\(a\),如果\(a\)未在序列中出现,则对答案有\(2\ ...

  7. Codeforces Round #721 (Div. 2)A. And Then There Were K(位运算,二进制) B1. Palindrome Game (easy version)(博弈论)

    半个月没看cf 手生了很多(手动大哭) Problem - A - Codeforces 题意 给定数字n, 求出最大数字k, 使得  n & (n−1) & (n−2) & ...

  8. Codeforces Round #366 (Div. 2) ABC

    Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...

  9. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

随机推荐

  1. 【.NET】ASP.Net IE10+ SCRIPT:XXX_doPostBack 未定义

    问题描述 GridView中分页控件,点击分页无反应,Linkbutton点击无反应,打开Web控制台,发现如下错误:SCRIPTXXX:_doPostBack 未定义:查询后得知,是由于.NET F ...

  2. 反爬虫2(代理ip)

    在进行爬虫访问时,被访问主机除了会校验访问身份,还会校验访问者的ip, 当短时间同ip大量访问时,主机有可能会拒绝 返回,所以就现需要代理ip, 百度中可以获取到大量的免费的代理ip(ps:注意在访问 ...

  3. 史上最简单的CentOS7破解密码方法,有图有真相

    #############破解CentOS7密码详细过程 一.开机重启,按任意键停住,有时没停住,是鼠标键未在服务器中,点一下就好     二.按e键进入单用户模式     三.在UTF-8后面加上i ...

  4. 蒲公英v5p%n搭建局域网后用nginx做代理的配置

    1.nginx.conf worker_processes auto; error_log /usr/local/var/log/nginx/error.log; events { worker_co ...

  5. SolidWorks学习笔记3几个草图实例

    绘制五角星 创建一个正五边形的内切圆,圆心和圆点重合,注意垂直关系. 选中所有,都设置为构造线. 依次连接直线, 点击裁剪实体,划过所要删除的线段. 绘制高度对称草图 注意事项: 最上和最下的圆心要和 ...

  6. spring boot 框架根據 sql 創建語句自動生成 MVC層類代碼

    GITHUB: https://github.com/lin1270/spring_boot_sql2code 會自動生成model.mapper.service.controller. 代碼使用No ...

  7. [转贴]Linux内核LTS长期支持版生命周期

    Linux内核LTS长期支持版生命周期 https://blog.51cto.com/dangzhiqiang/1894026 搞不懂长期支持版本的特点和区别. 党志强关注0人评论4371人阅读201 ...

  8. javase-整数变量的交换

    public class Operator { public static void main(String[] args) { int a=10; int b=20; System.out.prin ...

  9. .Net Core Web应用加载读取Json配置文件

    ⒈添加Json配置文件并将“复制到输出目录”属性设置为“始终复制” { "Logging": { "LogLevel": { "Default&quo ...

  10. 第k小团(Bitset+bfs)牛客第二场 -- Kth Minimum Clique

    题意: 给你n个点的权值和连边的信息,问你第k小团的值是多少. 思路: 用bitset存信息,暴力跑一下就行了,因为满足树形结构,所以bfs+优先队列就ok了,其中记录下最后进入的点(以免重复跑). ...