MLE了!!!!!!!!!!!!!!!!!!!
  • 板块P1662 数7
  • 楼主AU57G6
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/8/27 21:14
  • 上次更新2023/10/27 13:24:14
查看原帖
MLE了!!!!!!!!!!!!!!!!!!!
575492
AU57G6楼主2022/8/27 21:14
#include <bits/stdc++.h>
#define int long long
using namespace std;

const int CIRCLE = 1337;
const long long LEN = 1e9;
int rev = 1;
long long F[LEN];

bool include_seven(int i){
	return !(i % 7) || i % 10 == 7
		|| i % 100 / 10 == 7 || i % 1000 / 100 == 7
		|| i % 10000 / 1000 == 7 || i % 100000 / 10000 == 7
		|| i % 1000000 / 100000 == 7
		|| i % 10000000 / 1000000 == 7
		|| i % 100000000 / 10000000 == 7;
}

signed main(){
	long long x;
	scanf("%lld", &x);
	F[1] = 1;
	for(register int i(1); i <= x; ++i){
		if(F[i - 1] == 1337 && rev == 1) F[i] = 1;
		else if(F[i - 1] == 1 && rev == -1) F[i] = 1337;
		else F[i] = F[i - 1] + rev;
		if(include_seven(i)){
			if(rev == -1) rev = 1;
			else rev = -1;
		}
		//@debug: cout << include_seven(i) << " ";
	}
	printf("%lld", F[x]);
}
2022/8/27 21:14
加载中...