求助:3个TLE
  • 板块P1112 波浪数
  • 楼主yaodiguoan
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/11/28 13:41
  • 上次更新2023/11/28 18:07:50
查看原帖
求助:3个TLE
1023793
yaodiguoan楼主2023/11/28 13:41
#include<bits/stdc++.h>
using namespace std;
int checks(int m,int n){
	string s="",s1="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	int l=0;
	while(m){
		l++;
		s=s1[m%n]+s;
		m/=n;
	}
	for(int i=0;i<l-2;i++)
		if(s[i]!=s[i+2]) return 0;
	for(int i=0;i<l-1;i++)
		if(s[i]==s[i+1]) return 0;
	return 1;
}
int m,n,l,r,x;
bool check(int f){
	int cnt=0;
	for(int i=m;i<=n;i++)
		cnt+=checks(f,i);
	if(cnt==x) return true;
	return false;
}
int main(){
	scanf("%d%d%d%d%d",&m,&n,&l,&r,&x);
	for(int i=l;i<=r;i++){
		if(check(i)) printf("%d\n",i);
	}
	return 0;
}
2023/11/28 13:41
加载中...