蓝总是一个非常喜欢看球的人。今天蓝总支持的球队有比赛, 蓝总想知道它是否获胜。
现蓝总在进行一个赌局,并对分数的规则做了一些修改:
若该分数是素数,则令该分数×他本身
若该分数是2的倍数,则令该分数×2
若该分数是3的倍数,则令该分数×3
eg. 5 对应的最终分数是 5×5=25;
蓝总寻思着应该能赢。
输入格式:
第一行输入两个正整数 n,m ; (1≤n,m≤100)
第二行包含 n 个整数以及一个字符,n 个整数代表该球队前 n 节比赛的得分,字符'Y'表示这是蓝总支持的球队,字符'N'表示不是蓝总支持的球队。 行输入整数 ∈[2,100]
第三行包含 m 个整数以及一个字符,m 个整数代表该球队前 m 节比赛的得分,字符'Y'表示这是蓝总支持的球队,字符'N'表示不是蓝总支持的球队。 行输入整数 ∈[2,100]
题目数据保证两队伍,其中一个是'Y',另一个是'N'
输出格式:
最终总分多的队伍胜利;
对于每组输入输出一行,若蓝总支持的球队胜利了输出"hei!";
若是平局或是败北,则输出"ying!"
输入样例:
4 3
91 75 42 27 N
37 18 73 Y
输出样例:
hei!
Hint
2既是素数,也是2的倍数,所以最后相应的乘上的权值是 2*2,所以2对应的最后答案是 2×(2×2)=8
#include<stdio.h>
int main()
{ int n,m,a,ret,rets,b,N,Y;
int sum=0,SUM=0;
char ch,CH;
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
{scanf("%d",&a);
ret=1;
if(a%2==0)
{sum=sum+a*2;
}
if(a%3==0)
{sum=sum+a*3;
}
for(int j=2;j<=a;j++)
{
if(a==2){;
}
else if(a%j==0)
{ret=-1;
break;
}
}
if(ret==1)
{sum=sum+a*a;
}
}
ch=getchar();
ch=getchar();
if(ch=='N')
{N=sum;
}
else
{Y=sum;
}
for(int k=1;k<=m;k++)
{scanf("%d",&b);
rets=1;
if(b%2==0)
{SUM=SUM+b*2;
}
if(b%3==0)
{SUM=SUM+b*3;
}
for(int l=2;l<=b;l++)
{
if(b==2){;
}
else if(b%l==0)
{rets=-1;
break;
}
}
if(rets==1)
{SUM=SUM+b*b;
}
}
CH=getchar();
CH=getchar();
if(CH=='N')
{N=SUM;
}
else if(CH=='Y')
{Y=SUM;
}
if(Y>N)
{printf("hei!");
}
else
{printf("ying!");
}
return 0;
}