【codeforces】【比赛题解】#851 CF Round #432 (Div.2)

cf真的难……

点我浏览丧题。

【A】Arpa和她对墨西哥人浪的研究

Arpa正在对墨西哥人浪进行研究。

有n个人站成一排,从1到n编号,他们从时刻0开始墨西哥人浪。

在时刻1,第一个人站起来。
在时刻2,第二个人站起来。
...
在时刻k,第k个人站起来。
在时刻k+1,第k+1个人站起来,第1个人坐下。
在时刻k+2,第k+2个人站起来,第2个人坐下。
...
在时刻n,第n个人站起来,第n-k个人坐下。
在时刻n+1,第n-k+1个人坐下。
...
在时刻n+k,第n个人坐下。

Arpa想知道在时刻t,有几个人站着。

输入

三个正整数,n,k,t。(1<=t<n+k)

输出

一个整数,表示有几个人站着。

样例输入

10 5 3

样例输出

3

题解

水题,直接贴代码,自行理解。

1 #include<cstdio>
2 int n,k,t;
3 int main(){
4     scanf("%d%d%d",&n,&k,&t);
5     if(t<k) {printf("%d",t); return 0;}
6     if(t>n) {printf("%d",n+k-t); return 0;}
7     if(t>=k&&t<=n) {printf("%d",k); return 0;}
8     return 0;
9 }

【B】Arpa和几何考试

Arpa在参加一场几何考试,最后一题是这样的:

有三个点A,B,C。问是否能找到一个点O和一个角度α,使得A,B,C三点以O为旋转中心,以α为旋转角,A点落到B点的位置,B点落到C点的位置。Arpa想知道有没有答案。

输入

六个整数,ax,ay,bx,by,cx,cy,分别是A,B,C三点的横纵坐标,保证A,B,C互异。(-10^9<=ax,ay,bx,by,cx,cy<=10^9)

输出

Yes或No表示有没有解。

输入样例1

0 1 1 1 1 0

输出样例1

Yes

输入样例2

1 1 0 0 1000 1000

输出样例2

No

题解

A->B,B->C,那么,AB必将等于BC(想想为什么)。
既然如此,我们先把AB≠BC的情况输出。考虑AB=BC,作AB,BC中垂线,交于O,那么有全等三角形,可以旋转得到。但如果没有交点,只有可能是共线情况,特判即可。

 1 #include<cstdio>
 2 #include<iostream>
 3 using namespace std;
 4 long long ax,ay,bx,by,cx,cy;
 5 int main(){
 6     cin>>ax>>ay>>bx>>by>>cx>>cy;
 7     if((ax-bx)*(ax-bx)+(ay-by)*(ay-by)!=(bx-cx)*(bx-cx)+(by-cy)*(by-cy)) puts("No");
 8     else if((ax-bx)*(by-cy)==(ay-by)*(bx-cx)) puts("No");
 9     else puts("Yes");
10     return 0;
11 }

【C】【D】【E】丧的不行,全都不会,E题可能可做,就先烂尾吧。

posted @ 2017-09-07 21:08  粉兔  阅读(315)  评论(0编辑  收藏  举报