求助
查看原帖
求助
373662
KobeBeanBryant楼主2021/2/23 18:38
#include<iostream>
using namespace std;
int n,a[10001],i,u=1,j,t;
long long jc(int a,int b){
	for(int i=0;i<b;i++){
		a*=b;
	}
	return a;
}
int main() {
	cin>>n;
	for(int i=0; i<n; i++) {
		cin>>a[i];
	}
	for(int i=0; i<n; i++) {
		switch(a[i]) {
			case 1: {
				if(u<3) {
					j++;
					u++;
					break;
				} else if(u>=3&&u<7) {
					j+=2;
					u++;
					break;
				} else if(u>=7&&u<30) {
					j+=3;
					u++;
					break;
				} else if(u>=30&&u<120) {
					j+=4;
					u++;
					break;
				} else if(u>=120&&u<365) {
					j+=5;
					u++;
					break;
				} else {
					j+=6;
					u++;
					break;
				}
			}
			case 0:
				if(t<=1) {
					u--;
					t++;
					break;
				} else {
					if(u<=jc(2,t-1)){u=0;} 
					else{u-=jc(2,t-1);} 
					j=j;
					t++;
					break;
				}
		}
	}
	cout<<j;
}

为什么样例一直是11

2021/2/23 18:38
加载中...