Primality Test
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
ll t;
cin>>t;
while(t--){
ll x;//注意数据范围
cin>>x;
if(x==1) puts("YES");
else puts("NO");
}
return 0;
}
Kanade Doesn’t Want to Learn CG
题目大意:
在一二维平面中,篮板视为与y轴平行的线段,蓝框视为与x平行的线段。篮球的运动轨迹视为开口向下的抛物线。
规定:
1、若篮球从上往下穿过篮筐,视为投篮得分。
2、若篮球击中篮板,篮球将发生反弹(沿x轴方向的速度方向反转,沿y轴方向的速度不变)
以下情况不计入得分:
1、篮球从下往上穿过篮筐
2、篮球击中篮筐的任意端点
篮球抛出的起点横坐标很小很小,所以不存在篮板和篮筐在抛出点左边的情况。
抛物线方程已经给出,关键点的坐标也都给出,所以直接把点代入方程,做出相应判断即可。
(题目怎么说就怎么做,不要多想)
两种进球得分方式:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a,b,c;
ll f(ll x){
ll ans=a*x*x+b*x+c;
return ans;
}
int main(){
int t;
scanf("%d",&t);
while(t--){
scanf("%lld%lld%lld",&a,&b,&c);
ll x0,x1,y0,y1,y2;
scanf("%lld%lld%lld%lld%lld",&x0,&x1,&y0,&y1,&y2);
ll x2=2*x1-x0;
if(f(x0)>y0&&f(x1)<y0) puts("Yes");
else if(f(x0)>y0&&f(x1)>y0&&f(x1)<=y2&&f(x2)<y0) puts("Yes");
else puts("No");
}
return 0;
}