题解 P1424 【小鱼的航程(改进版)】

· · 题解

方法一:便于理解,效率低

#include <stdio.h>
int main(){
    int x,n,sum=0;
    scanf("%d %d",&x,&n);
    for(int i=0;i<n;i++){
        if(x!=6&&x!=7){
            sum+=250;
        }else if(x==7){
            x=0;
        }
        x++;
    }
    printf("%d",sum);
    return 0;
}

方法二:效率更高

#include <stdio.h>
int main(){
    int x,n,,first,center,last,sum;
    scanf("%d %d",&x,&n);
    first=(8-x);
    last=(n-first)%7;
    center= n-first-last;
    day=center/7*5+last+first-1;
    if(x<7){
        day-=1;
    }
    if(last>5){
        day-=last-5;
    }
    printf("%d",day*250);
    printf("%d",sum);
    return 0;
}