#40445: c++(2ms, 88KB)單純挑戰空間縮小


bobobo0413 (Andy)

學校 : 國立臺灣大學
編號 : 252359
來源 : [163.30.63.84]
最後登入時間 :
2024-10-16 11:22:04
f605. 1. 購買力 -- 2021年1月APCS | From: [114.137.105.195] | 發表日期 : 2024-05-21 06:27

解題:為了減少空間,不匯入其他函式庫,用最原始的#include<stdio.h>,所以搞得原始碼寫很長。輸入三個值要找出差異大於d才購買,所以兩兩相減,要注意負數要變正數,m1=p1-p2;        if(m1<0)            m1=-m1;類似這樣。判斷相減後是否有任何差值大於d,if(m1>=d||m2>=d||m3>=d),購買金額等於三個值的平均,加總起來ans+=((p1+p2+p3)/3);,以下是原始碼,C和C++都可使用:

#include<stdio.h>
int main(){
int n,d,i,p1,p2,p3,ans=0,ma,mi,c=0,m1,m2,m3;
scanf("%d%d",&n,&d);
for(i=0;i<n;i++){
    scanf("%d%d%d",&p1,&p2,&p3);
        m1=p1-p2;
        if(m1<0)
            m1=-m1;
        m2=p2-p3;
        if(m2<0)
            m2=-m2;
            m3=p3-p1;
        if(m3<0)
            m3=-m3;
        if(m1>=d||m2>=d||m3>=d){
            c++;
        ans+=((p1+p2+p3)/3);
    }
}
printf("%d %d\n",c,ans);
return 0;
}

 
ZeroJudge Forum