希望问一下这个为什么没过
查看原帖
希望问一下这个为什么没过
361410
thy3067666461楼主2023/7/18 11:45

示例是没问题的,但四个点都WA了()

#include <stdio.h>
int main(){
    int a,n,m,x;
    scanf("%d %d %d %d",&a,&n,&m,&x);
    int each;
    int shang[n][2];//前面为a后面为n
    int xia[n][2];
    if(x==1){printf("%d",a);return 0;}
    if (x==2) {printf("%d",a);return 0;}
     if (x==n) {printf("%d",m);return 0;}
    shang[0][0]=1;shang[1][1]=1;
    xia[1][1]=1;
    for(int i=2;i<=n-2;i++){
    shang[i][0]=shang[i-1][0]+shang[i-2][0];
    shang[i][1]=shang[i-1][1]+shang[i-2][1];
    xia[i][0]=shang[i-1][0];
    xia[i][1]=shang[i-1][1];
    }
    int cheshang[2]={0};
    for (int i =0;i<=n-2;i++){
        cheshang[0]+=shang[i][0]-xia[i][0];
        cheshang[1]+=shang[i][1]-xia[i][1];
    }
    each=(m-cheshang[0]*a)/cheshang[1];
    
    //chsahng[0]*a+cheshang[1]*each=m
    int cheshangx[2]={0};
     for (int i =0;i<=x-1;i++){
        cheshangx[0]+=shang[i][0]-xia[i][0];
        cheshangx[1]+=shang[i][1]-xia[i][1];
    }
    printf("%d",cheshangx[0]*a+cheshangx[1]*each);
}
2023/7/18 11:45
加载中...