首页 > 其他分享 >CF227A Where do I Turn? 题解

CF227A Where do I Turn? 题解

时间:2023-11-02 19:24:24浏览次数:30  
标签:x1 return int 题解 x2 CF227A y1 y2 Where

题目大意:

\(A\),\(B\) 在一条直线上。\(B\),\(C\) 在一条直线上你从 \(A\) 走到了 \(B\) 去 \(C\),问现在应该是直走、左转、还是右转。

思路:

分类讨论:分别求 \(A\) 到 \(B\),\(B\) 到 \(C\) 是什么方向,然后可得 \(A\) 到 \(C\) 的方向。

Code:

#include <bits/stdc++.h>
using namespace std;
#define int long long
int check(int x1, int y1, int x2, int y2)
{
    if (x1 == x2 && y1 <= y2)
        return 0;
    else if (x1 == x2 && y1 >= y2)
        return 1;
    else if (x1 >= x2 && y1 == y2)
        return 2;
    else if (x1 <= x2 && y1 == y2)
        return 3;
    else if (x1 >= x2 && y1 <= y2)
        return 4;
    else if (x1 <= x2 && y1 >= y2)
        return 5;
    else if (x1 >= x2 && y1 >= y2)
        return 6;
    else
        return 7;
}
int xa, ya, xb, yb, xc, yc;
string st[8][8] = {"TOWARDS", "", "LEFT", "RIGHT", "", "", "", "",
                    "", "TOWARDS", "RIGHT", "LEFT", "", "", "", "",
                    "RIGHT", "LEFT", "TOWARDS", "", "", "", "", "",
                    "LEFT", "RIGHT", "", "TOWARDS"};
signed main()
{
    ios::sync_with_stdio(false);
    cin >> xa >> ya;
    cin >> xb >> yb;
    cin >> xc >> yc;
    int p1 = check(xa, ya, xb, yb);// A 到 B 的方向
    int p2 = check(xb, yb, xc, yc);// B 到 C 的方向
    cout << st[p1 % 4][p2 % 4];
    return 0;
}

标签:x1,return,int,题解,x2,CF227A,y1,y2,Where
From: https://www.cnblogs.com/sky-lisu/p/17806082.html

相关文章

  • CF333B题解
    分析发现只能跳\(n-1\)次,所以每个点一定是畅通无阻地抵达终点,所以有障碍的行和列放不了,并且每一个行或列最多放一个。因为同时跳,思考会不会跳到一起,发现如果不在正中间可以将起点放到另一头就不会跳到一起,如果在正中间就一定会跳到一起,所以正中间的行和列加一起最多只能放......
  • CF333A题解
    分析被除数一定,除数越小,商越大,所以选择合法的最小\(3_{x}\)。枚举指数即可,复杂度\(\mathcal{O(\log_{3}w)}\),\(w\)为值域\(1e18\),可以通过本题。代码#include<iostream>#defineintlonglongusingnamespacestd;constexprintMAXN(1000007);intf[MAXN];int......
  • P9740 「KDOI-06-J」ION 比赛 题解
    题目思路:先计算总分数\(sum\),\(c_i=\frac{100}{a_i}\)为每道题的每个测试点分数。如果总分数达到\(Au\)线,直接输出AlreadyAu.。否则计算到达\(Au\)线还需多少分\(p\),遍历所有题,求出每道题的失分,如果失分大于等于\(p\),则输出\(\lceil\frac{p}{c_i}\rceil\),即至......
  • Educational Codeforces Round 134 (Div.2) D 题解
    题目链接D.MaximumAND题目大意给定两组序列\(a\)\(b\),长度为\(n\),现有一新序列\(c\),长度也为\(n\)。其中,\(c_i=a_i\oplusb_i\)。定义\(f(a,b)=c_1\&c_2\&……\&c_n\)。现在你可以随意编排\(b\)序列的顺序,求\(f(a,b)\)的最大值。思路以下位运算均是......
  • 【python】-bash: /usr/local/bin/pip: /usr/bin/python: bad interpreter: No such f
    安装单独的第三方库时没有问题pipinstallpandas但是一旦使用requirement.txt批量安装第三方库时就会出现-bash:/recorddata/rebuydata/hppy/soft/python3/bin/pip3:/usr/local/source/hppy/soft/python3/bin/python3.6:badinterpreter:没有那个文件或目录badinterpreter......
  • CF1868B1 Candy Party (Easy Version) 题解
    Problem-1868B1-CodeforcesCandyParty(EasyVersion)-洛谷喵喵题。首先每个数最终肯定变成\(\overlinea\),如果\(\overlinea\)不是整数显然无解。然后记\(b_i=a_i-\overlinea\)表示每个数的偏差量,那\(b_i\)要满足能写成\(2^x-2^y\)的形式然后只需要......
  • abc194f O(nk)题解
    前言洛谷唯一的题解似乎是\(O(nk^2)\)的,怎么卡过去的orz这里提供一种与AT官方题解时间复杂度相同的\(O(nk)\)做法。Solution题意很显然,就不解释了。一眼丁真,考虑数位dp。设\(dp_{i,j}\)表示做到第\(i\)位,不同的个数有\(j\)种的方案数。显然有转移方程:\(dp_{i......
  • [ARC159F] Good Division 题解
    [ARC159F]GoodDivision题解首先对于题目要求的划分方式转化一下,转化为划分的每一段都没有绝对众数,可以证明这与题目中的要求是完全等价的,证明如下:充分性:考虑构造一种操作方法,就是每次操作都消去一个出现次数最多的数,按照这样操作可以保证每次操作之后该区间仍然不会出现绝对......
  • 10.30 CF1685 题解
    10.30CF1685A.CircularLocalMiniMax题意给你\(n\)个整数$a_1,a_2,\ldots,a_n$。问有没有可能将它们排列在一个圆上,使每个数字严格地大于其相邻的两个数字或严格地小于其相邻的两个数字?题解直接排序然后按照\(1,4,2,5,3,6\)的规律放,check一下合不合法就行了。......
  • 题解:[SCOI2008] 城堡
    应该是联赛前最后一次任性了,浪费的时间有点多,不过也揭露了我的基础知识和代码能力都很弱的问题,得加油啊。先stodwt。给定一棵基环树森林,起初有\(m\)个点已被选进\(S\)里,你需要再选\(k\)个点加入到\(S\)中,最小化其余点到\(S\)距离的最大值。这个问题直接做非常困难,......