逐日累计金银铜牌数,最后输出三类总数和总奖牌数。
OJ: noi_openjudge
题目 ID: ch0105-07
难度:入门
标签:循环模拟python
日期: 2026-07-30 23:01
题意
读入每天的金、银、铜牌数量,输出三类总数与总奖牌数。
思路
维护三个累计变量。每读入一行就分别相加,循环结束后总数为三个累计值之和。
代码
Python代码
python
days = int(input())
gold = silver = bronze = 0
for _ in range(days):
today_gold, today_silver, today_bronze = map(int, input().split())
gold += today_gold
silver += today_silver
bronze += today_bronze
print(gold, silver, bronze, gold + silver + bronze)C++代码
cpp
#include <cstdio>
int main(){
int n;
int sum = 0;
int i;
int a=0,b=0,c=0;
int t1,t2,t3;
scanf("%d",&n);
for (i=1;i<=n;i++){
scanf("%d%d%d",&t1,&t2,&t3);
a += t1;
b += t2;
c += t3;
}
printf("%d %d %d %d\n",a,b,c,a+b+c);
return 0;
}复杂度
时间复杂度为
总结
多字段统计时,让每个字段拥有独立累计器,最后再组合派生结果。