P7760 [COCI2016-2017#5] Tuna 题解
这是本蒟蒻第十一次写的题解,如有错误点请好心指出!
问题简述
这道题我们可以换另一种思路去看待它,就容易理解了:
有
解法综述
根据问题简述模拟即可。对
代码描述
#include<cstdio>
#define max(a,b) (a>b?a:b)//取两个数之间最大值
#define abs(a,b) (a>b?a-b:b-a)//取两个数之间的绝对值
int N,X,P1,P2,P3,ans;
int main()
{
scanf("%d%d",&N,&X);
while(N--)//对N个数的取值进行操作
{
scanf("%d%d",&P1,&P2);//读入两个数P1和P2
if(abs(P1,P2)<=X) ans+=max(P1,P2);//若发现P1与P2之间的差不大于X,则用ans累加它们之间的最大值
else//否则
{
scanf("%d",&P3);//读入一个数P3
ans+=P3;//用ans累加这个数
}
}
printf("%d",ans);//最后输出ans即可
return 0;
}