您的位置:首页 > 其它

大吉大利今晚吃鸡——枪械篇

2018-01-22 00:07 113 查看
题目链接:点击打开链接

这题难点带就是输入?我是因为用float精度不够才不过的,改成double就ok了

#include <cstdio>
using namespace std;

int num[1011][1011];

int main()
{
long long n, m;
int p[1011], k[1011];
double b[1011], ans[1011], sum;

while(scanf("%lld%lld", &n, &m) != EOF)
{
for(int i = 0; i < 1011; i++)
b[i] = 0;

for(int i = 0; i < n; i++)
{
scanf("%d%d", &p[i], &k[i]);
for(int j = 0; j < k[i]; j++)
scanf("%d", &num[i][j]);
}

for(int i = 0; i < m; i++)
{
int q;
double temp;

scanf("%d%lf", &q, &temp);

if(b[q] < temp)
b[q] = temp;
}

for(int i = 0; i < n; i++)
{
sum = 1;
for(int j = 0; j < k[i]; j++)
sum += b[num[i][j]];
ans[i] = p[i] * sum;
}

int ma = 0;
for(int i = 1; i < n; i++)
if(ans[i] > ans[ma])
ma = i;

printf("%.4lf\n", ans[ma]);
}

return 0;
}

开了老多个数组,不怎么好看。其实用造一个枪结构题可以简化很多。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐