【记录CF】Codeforces Round #773 (Div. 2) A~D 题解

目录

杂谈

A. Hard Way

B. Power Walking

C. Great Sequence

(补)D. Repetitions Decoding


杂谈

对于div2日常只能过AB的蒟蒻来说这场三题已经很满足了(虽然可能只是因为这场的C比较简单,初始得分只有1250)。

然后说说赛时解题情况吧,A题题意理解了半天,甚至还因为没有考虑另一个点在平行线之上而WA了一发;B、C题弄清楚题意后很快找到了思路(可能因为题目刚好对口-、-),然后瞎敲敲就过了。接下来看了D、E两题,D题先是理解大半天,然后找不到可靠的方法,E题题意比较好理解,但是不好下手......最后A了三题直接开摆hhh。

赛后学习了一下D、E两题大佬们的思路,太巧妙了,有时间一定把它们补上。

A. Hard Way

题目链接:Problem - A - Codeforces

题目大意:判断给出的三个点构成的三角形中是否有一条边平行于 x 轴并且另一个点位于该边下方。如果有就输入平行的那条边的长度,如果没有则输出 0。

解题思路:只要抽象出了题目大意那么照着讨论就好了。

AC代码:

#include <bits/stdc++.h>
#define lowbit(x) (x & -x)
#define mid (l + r >> 1)
 
using namespace std;
typedef long long ll;
const int INF = 0x3f3f3f3f;
const int mod = 1000000007;
 
int main(){
    //freopen("input.txt", "r", stdin);
    ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
    int t;
    cin >> t;
    while(t--){
        int x1, y1, x2, y2, x3, y3;
        cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
        if(y1 == y2 && y3 < y1) printf("%d\n", abs(x2 - x1));
        else if(y1 == y3 && y2 < y1) printf("%d\n", abs(x3 - x1));
        else if(y3 == y2 && y1 < y2) printf("%d\n", abs(x3 - x2));
        else printf("0\n");
    }
	return 0;
}

B. Power Walking

题目链接:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值