目录
杂谈
对于div2日常只能过AB的蒟蒻来说这场三题已经很满足了(虽然可能只是因为这场的C比较简单,初始得分只有1250)。
然后说说赛时解题情况吧,A题题意理解了半天,甚至还因为没有考虑另一个点在平行线之上而WA了一发;B、C题弄清楚题意后很快找到了思路(可能因为题目刚好对口-、-),然后瞎敲敲就过了。接下来看了D、E两题,D题先是理解大半天,然后找不到可靠的方法,E题题意比较好理解,但是不好下手......最后A了三题直接开摆hhh。
赛后学习了一下D、E两题大佬们的思路,太巧妙了,有时间一定把它们补上。
A. Hard Way
题目大意:判断给出的三个点构成的三角形中是否有一条边平行于 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
题目链接: