有五场组队赛了, 做的基本都是区域赛的题, 基本上每场出一两道,写一下自己做过的题。
A:点击打开链接
因为不是用我的账号交的,就不上代码了。开始队友一直在调试, 可能是因为怕浮点数有精度问题吧。
a/b > c/d = a*d > b*c;
不存在精度问题,1A;
I:点击打开链接
当时根本就没认真读, 没出。后来看了看,太水。所以说赛场不能放弃与懈怠,别人出的题更要慢慢看。因为水平差距并不太大。
#include<cstdio>
#include<iostream>
#include<string.h>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
int T;
cin >> T;
while(T--)
{
string s;
int n;
cin >> n;
cin >> s;
double f = 0;
if(s == "bit")
{
for(int i = 0; i < n; ++i)
{
int a;
cin >> a;
if(a != 0)
{
f += (-a*1.0/100) * log2(a*1.0/100);
}
}
}
else if(s == "nat")
{
for(int i = 0; i < n; ++i)
{
int a;
cin >> a;
if(a != 0)
{
f += (-a*1.0/100) * log(a*1.0/100);
}
}
}
else if(s == "dit")
{
for(int i = 0; i < n; ++i)
{
int a;
cin >> a;
if(a != 0)
{
f += (-a*1.0/100) * log10(a*1.0/100);
}
}
}
printf("%.12lf\n", f);
}
return 0;
}