对三个点错一个,帮看代码谢谢
查看原帖
对三个点错一个,帮看代码谢谢
354177
王浩博楼主2021/7/12 11:57

对三个点错一个。 in:1 8 76 6 out:44

#include<iostream>
using namespace std;

int a,n,m,x;
int u,sqr=1;
int station[25];

int main(){
	cin>>a>>n>>m>>x;
	if(n==1){
		cout<<0<<endl;
		return 0;
	}
	if(n==2){
		station[1]=a;
		station[2]=0;
	}
	if(n==3){
		station[1]=a;
		station[2]=a;
		station[3]=0;
	}if(n==4){
		station[1]=a;
		station[2]=a;
		station[3]=2*a;	
		station[4]=0;
	}else{
		station[1]=a;
		station[2]=a;
		station[3]=2*a;	
		if(n==5){
			sqr=1;
		}else{
			for(int i=1;i<=n-5;i++){
				sqr*=2;
			}
		}
		u=(m-(n-3)*a)/sqr;
		for(int i=4;i<=n;i++){
			sqr=1;
			for(int j=1;j<=i-4;j++){
				sqr*=2;
			}
			station[i]=(i-2)*a+sqr*u;
		}
	}
	cout<<station[x]<<endl;
	return 0;
} 
2021/7/12 11:57
加载中...