#CF 141B. Hopscotch

141B - Hopscotch

Let‘s bust the "level" 0 ≤ i ≤ 106,
in which assumedly the stone could hit. Let’s find the minimal number
of square on this level. Then we can understand, how many squares there
are on this level: one or two. Then we check with one or two ifs (if on
this level two squares) if the stone is in corresponding square or not.
If the stone is inside then output the answer. If we didn‘t find any
square, where the stone is, output "-1".

官方的意思大概是 106 级别,一个一个枚举过去(好吧,博主英文不行,胡诌的);

一开始只看到图示,以为最多到 7 (至于1-1-2-1...,不知道是什么),就一直 WA

直到 ....

看懂题目后,果断加上这几句

tmp = 0;
        while (y > 5 * a)  tmp += 3, y -= 2 * a;
        printf("%d\n", calculate(a, x, y) + tmp * (calculate(a, x, y) != -1));

层数 > 7 ,纵坐标 -2*a , 序号 -3 (前提自然是在格子内),然后 .....

居然就 A 了。

#include<bits/stdc++.h>

int f[16];

int calculate(int a, int x, int y);

int main() {
    int a, x, y, tmp;
    f[1] = 1;
    for (int i = 2; i < 8; i++) f[i] = f[i - 1] + 1;
    while (~scanf("%d%d%d", &a, &x, &y)) {
        tmp = 0;
        while (y > 5 * a)  tmp += 3, y -= 2 * a;
        printf("%d\n", calculate(a, x, y) + tmp * (calculate(a, x, y) != -1));
    }
    return 0;
}

int calculate(int a, int x, int y) {
    if (x < (a + 1) / 2 && x > -(a + 1) / 2 && y > 0 && y < a)          return f[1];
    if (x < (a + 1) / 2 && x > -(a + 1) / 2 && y > a && y < 2 * a)      return f[2];
    if (x < 0 && x > -a && y > 2 * a && y < 3 * a)                      return f[3];
    if (x > 0 && x < a && y > 2 * a && y < 3 * a)                       return f[4];
    if (x < (a + 1) / 2 && x > -(a + 1) / 2 && y > 3 * a && y < 4 * a)  return f[5];
    if (x < 0 && x > -a && y > 4 * a && y < 5 * a)                      return f[6];
    if (x > 0 && x < a && y > 4 * a && y < 5 * a)                       return f[7];
    else return -1;
}
时间: 2024-10-02 08:56:37

#CF 141B. Hopscotch的相关文章

Codeforces 141B Hopscotch

传送门:CF141B Hopscotch 算法分析: 判断是否在边界上(\(a|y\)),是否在第一.二象限(\(y>0\)) 接着,判断 \(y\) 是否比 \(a\) 小,\(x\)是否在第一个正方形内 将\(y\)减去\(a\)(删去第一层),\(dir=\frac{y}{2a}+1\) 表示其所在的层数 然后就可以得到当前可能位置下的个数 \(bottom=(dir-1)*3+2\) ,并把可能位置以下的层数减去 最后再做一遍第一步的判断 时间复杂度:\(O(1)\) ```cpp in

Hopscotch(codeforces 141B)

Hopscotch time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output So nearly half of the winter is over and Maria is dreaming about summer. She's fed up with skates and sleds, she was dreaming abou

微信 {&quot;errcode&quot;:40029,&quot;errmsg&quot;:&quot;invalid code, hints: [ req_id: Cf.y.a0389s108 ]&quot;}

{"errcode":40029,"errmsg":"invalid code, hints: [ req_id: Cf.y.a0389s108 ]"} 问题:微信网页授权后,获取到 openid 了,一刷新又没了 微信网页授权获取到的 code 只能使用一次(5分钟内有效),使用一次后,马上失效. 页面授权跳转成功,根据 code 也换取到 openid 了. 此时刷新页面,并不会再次进行授权,而是直接刷新了一下上一次授权跳转后的链接,带的还是

CF with friends and user&#39;s influence considered on NYC data(updated Aug,11st)

Here is the code link: https://github.com/FassyGit/LightFM_liu/blob/master/U_F1.py I use NYC data as other experimens. The split of the training data was seperated by the timeline, and I have normalised the interaction matrix by replacing the checkin

洛谷P3120 [USACO15FEB]Cow Hopscotch

题目描述 Just like humans enjoy playing the game of Hopscotch, Farmer John&apos;s cows have invented a variant of the game for themselves to play. Being played by clumsy animals weighing nearly a ton, Cow Hopscotch almost always ends in disaster, but thi

CF 750

今天CF打的块残废了     就是一废物 A 在24点之前到 直接模拟即可 #include<stdio.h> #include<algorithm> #include<cstring> #include<string> #include<cmath> using namespace std; #define LL long long #define MAXN 1010 #define inf 1000000000.0 int main() {

CF #394 (2) 5/6

Codeforces Round #394 (Div. 2) 总结:有毒的一场比赛.做了三题,结果A被叉,B.C挂综测,还hack失败一发,第一次在CF体会到了-50分的感觉..不知道是不是人品好,比赛时room炸了,然后,unrated.. A  水题,判一下0 0,然后abs(a-b)<=1 B  水题,组个间距比较一下,但一个数的时候要判一下 C  直接暴力上的题 D  也是xjb暴力 题意:给出n,l,r, a[], p[],另有两个数组b[], c[],ci=bi-ai.l<=ai,

bzoj1650[Usaco2006 Dec]River Hopscotch 跳石子*

bzoj1650[Usaco2006 Dec]River Hopscotch 跳石子 题意: 数轴上有n个石子,第i个石头的坐标为Di,现在要从0跳到L,每次跳都从一个石子跳到相邻的下一个石子.现在问移走这M个石子后,相邻两个石子及0到最前一个石子及最后一个石子到L距离的最小值的最大值是多少.n≤50000 题解: 为什么有NOIP2015即视感~二分距离最小值,然后如果当前石子和上一个石子相差小于二分值就将这个石子移走,如果位置L与上一个石子相差小于二分值,此时若还没有移满M个且有没移走的石子

一场CF的台前幕后(上)——转

前奏 大约4月份的时候,业界毒瘤pyx噔噔噔跑过来说:“酷爱!我YY了一道题!准备当CF的C” 我当时就被吓傻了."Yet another Chinese round?" “区间取模,区间求和” 感觉这题还不错?不过pyx嫌水了…… 好办!当时我刚刚出完动态仙人掌不久,于是一拍脑袋说:把这个问题出到仙人掌上去! 当然被pyx鄙视了…… 后来一直就没啥动静,直到5月底的CTSC. 试机的时候pyx给我看了套他出的神题……里面有一道题……我不小心读成了下面这个样子: “给定n个m维的模2意