题目描述
经过九九八十一难,唐僧和他徒弟们终于到了西天。幽静的雷音寺中包含了 n 个房间,每个房间中 k 本经书,每本经书都有一定的价值。由于时间限制,每个房间只够拿一本经书,很显然,肯定拿那本价值最大的经书。
输入描述
输入数据的第一行是房间数 n。接下来的 n 行每行描述了房间的经书情况:第一个数是经书的本数 k,然后是 k 个整数,表示每一本经书的价值。
输出描述
占一行,唐僧他们总共能拿到经书的最大价值(在 long 范围以内)。
样例输入
4
3 2 2 5
5 3 3 4 4 1
2 30 23
5 10 20 30 20 30
样例输出
69
#include<stdio.h>
int main()
{
int max,n,k,kd,sum=0;
scanf("%d",&n);
while( n-- )
{
scanf("%d",&k);
max = 0;
while( k-- )
{
scanf("%d",&kd);
max = max > kd ? max : kd;
}
sum += max;
}
printf("%d",sum);
}
#include
int main()
{
/* 经书问题 */
int n;//n个房间
int k;//k本书
int v[99][99];
//获取输入的房间数、经书本数、经书价值
scanf("%d",&n);
for (int i=0;i<n;i++)
{
scanf("%d",&k);
v[i][0]=k;
for (int j=1;j<=k;j++)
{
scanf("%d",&v[i][j]);
}
}
//求最大价值
long v=0;
for (int i=0;i<n;i++)
{
k=v[i][0];
long v1=0;
for (int j=1;j<=k;j++)
{
if (v1<v[i][j]) v1=v[i][j];
}
v+=v1;
}
printf("Value = %l", v);
return 0;
}
#include<stdio.h>
int main()
{
int max,n,k,kd,i;
int sum=0;
scanf("%d",&n);
for (int i = 0; i < n; i++)
{
scanf("%d",&k);
max = 0;
while( k-- )
{
scanf("%d",&kd);
max = max > kd ? max : kd;
}
sum += max;
}
printf("%d",sum);
}
#include
int main(void)
{
int n,k,i,a,max,b,j;
int sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&k);
scanf("%d",&a);
max=a;
for(j=1;j< k ;j++)
{
scanf("%d",&b);
if(b>=a)
max=b;
}
sum+=max;
}
printf("%d",sum);
return 0;
}