牛客每日练习----小P和小Q,排名,颜料的混合

我喜欢给自己压力,必须得定一个很高的目标,逼自己朝着这个目标前进,不管会不会实现,都是一个动力。                                      ----喻言

链接:https://ac.nowcoder.com/acm/problem/15735
来源:牛客网

题目描述

小P和小Q是好朋友,今天他们一起玩一个有趣的游戏。

他们的初始积分都为1,赢的人可以将自己的分数乘以 (K的平方),而输的人也能乘以K。

他们玩的太开心了,以至于忘了自己玩了多久,甚至 K 是多少和游戏进行的回合数 N 都忘了。

现在给出他们俩最终的积分a,b,请问是否存在正整数K、N满足这样的积分,判断他们的游戏结果是否可信。

输入描述:

第一行输入一个整数T(表示样例个数)
接下来T组样例
每组样例一行,输入两个正整数a,b(0 
  

输出描述:

输出T行
一行输出一个样例对应的结果
若结果可信,输出 Yes
否则,输出 No

示例1

输入

复制

6
2 4
75 45
8 8
16 16
247 994
1000000000 1000000

输出

复制

Yes
Yes
Yes
No
No
Yes

备注:

每回合的K可能不同
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include//INT_MAX
#define PP pair
#define inf 0x3f3f3f3f
#define llinf 0x3f3f3f3f3f3f3f3fll
#define dinf 1000000000000.0
typedef long long ll;
using namespace std;
int const N=100000+10;
int const mod=1e9+7;
const int maxn=2e6+10;
int t;
int main(){
    cin>>t;
    while(t--){
        ll a,b;
        cin>>a>>b;
        a=a*b;
        float n=float(pow(a,1.0/3));
        if(n==int(n)) 
			cout<<"Yes"<

链接:https://ac.nowcoder.com/acm/problem/15750
来源:牛客网

题目描述

Cwbc和XHRlyb都参加了SDOI2018,他们特别关心自己的排名。
我们定义每一场比赛每位选手的标准分它的分数乘以满分再除以比赛中选手所获得的最高分
NOIP2017的满分为600分,SDOI2018每一天的比赛满分均为300分。
我们定义总分为NOIP2017的标准分的25%,加上SDOI2018 前两天标准分之和的25%,再加上SDOI2018后两天标准分之和的50%。
XHRlyb告诉你每一次比赛每个选手的分数,你需要按照名次从高到低依次输出他们的名字和总分。
聪明的你在仔细阅读题目后,一定可以顺利的解决这个问题!

输入描述:

输入数据有多组数据,对于每组数据,格式为:
第一行,一个整数n,表示选手数量。
接下来n行,每一行有用空格隔开的一个字符串和五个整数,分别表示选手姓名、NOIP2017成绩以及SDOI2018四天比赛的成绩。

输出描述:

输出数据应有多组,每组输出有多行,每行应有一个选手姓名和他的总分。
输出的总分应保留5位小数,且如果总分的误差不超过10-5,我们认为两名选手并列。
若两名选手并列,则按姓名的字典序顺序从小到大输出。

示例1

输入

复制

7
tzt 570 290 155 300 295
tyc 570 260 225 295 300
rqy 540 275 110 290 290
cz 520 260 130 285 290
hly 490 185 155 290 285
zhx 510 220 110 285 285
dzm 510 185 85 280 280

输出

复制

tyc 589.74138
tzt 574.16667
rqy 539.89262
cz 534.91682
hly 515.95886
zhx 512.77374
dzm 490.38869

备注:

保证姓名均为小写字母且个数在[2,10]之间,每次比赛的分数不会超过满分也不会低于0分。
保证选手总数不会超过2 ∗ 105。
1 ≤ T ≤ 5。
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include//INT_MAX
#define PP pair
#define inf 0x3f3f3f3f
#define llinf 0x3f3f3f3f3f3f3f3fll
#define dinf 1000000000000.0
typedef long long ll;
using namespace std;
int const N=100000+10;
int const mod=1e9+7;
const int maxn=2e6+10;
int n;
struct node{
    int a,b,c,d,e;
    double h;
    string y;
}x[200005];
bool cmp(node m,node n){
    if(m.h==n.h) 
		return m.yn.h;
}
int main(){
    while(cin>>n){
        int ma=0,mb=0,mc=0,md=0,me=0;
        for(int i=0;i>x[i].y>>x[i].a>>x[i].b>>x[i].c>>x[i].d>>x[i].e;
            ma=max(ma,x[i].a);
            mb=max(mb,x[i].b);
            mc=max(mc,x[i].c);
            md=max(md,x[i].d);
            me=max(me,x[i].e);     
        }
        for(int i=0;i

链接:https://ac.nowcoder.com/acm/problem/15754
来源:牛客网

题目描述

牛客每日练习----小P和小Q,排名,颜料的混合_第1张图片

艺术家通常要通过颜料的混合得到某种他想要的但又不是从工厂里面生产出来的原始的那种颜料。为了简便起见, 我们假设每种颜料都可以分成是红绿两个分量的数值指标, 即每种颜料都可以用红绿在其中占据的百分比来表示。艺术家从工厂拿回了三种不同颜料分别是(x1%红,y1%绿), (x2%红,y2%绿),(x3%红,y3%绿), 问艺术家是否能够调出自己想要的颜料(x0%红,y0%绿)?

 

输入描述:

八个整数:x0,y0,x1,y1,x2,y2,x3,y3。(0 < xi, yi < 100)

输出描述:

输出Yes如果可以调出, 否则输出No

示例1

输入

复制

2 3
1 1
3 3
2 4

输出

复制

Yes

说明

一份颜料一, 一份颜料二, 一份颜料三混合即可。

备注:

输入数据有多组!
输入数据有多组!
输入数据有多组!
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include//INT_MAX
#define PP pair
#define inf 0x3f3f3f3f
#define llinf 0x3f3f3f3f3f3f3f3fll
#define dinf 1000000000000.0
typedef long long ll;
using namespace std;
int const N=100000+10;
int const mod=1e9+7;
const int maxn=2e6+10;
int a,b,c,d,e,f,g,h,x,y,z;
int main()
{
    while(cin>>a>>b>>c>>d>>e>>f>>g>>h)
    {
        c-=a;
        d-=b;
        e-=a;
        f-=b;
        g-=a;
        h-=b;
        x=g*f-h*e;
        y=c*h-g*d;
        z=e*d-c*f;
        if(abs(x)+abs(y)+abs(z)==abs((g-c)*(f-d)-(h-d)*(e-c))) 
			printf("Yes\n");
        else 
			printf("No\n");
    }
    return 0;
}

你可能感兴趣的:(牛客网)