TLE大佬求助!!!!!(壶关)
查看原帖
TLE大佬求助!!!!!(壶关)
1019649
jinxuanyi楼主2024/12/1 16:53
#include<bits/stdc++.h>
using namespace std;
int main() {
    long long a;
    cin>>a;
    long long m=2147483647,p=0;
    for(long long i=0;i<100000;++i){
        for(long long j=0;j<(1<<(5*i));++j){
            long long c=a;
            for(int k=0;k<i;++k){
                long long x=k%5;
				long long d=(j>>(k*5))&1;
				long long v=c%10;
                c/=10;
                if(d==1){
                    v=(v+1)%10;
                }else{
                    v=(v-1)%10;
                }
                c+=v*pow(10,x);
            }
            if (c<=1) {
                continue;
            }else if(c<=3) {
                if(i<m){
                    m=i;p=c;
                }else if(i==m){
                    p=max(p,c);
                }
                continue;
            } else if(c % 2 == 0 || c % 3 == 0) {
                continue;
            }else{
                for(long long n=5;n*n<=c;n+=6){
                    if(c%n==0 || c%(n+2)==0){
                        continue;
                    }
                }
                if(i<m){
                    m=i;p=c;
                }else if (i==m){
                    p=max(p,c);
                }
            }
        }
    }
    cout<<p;
    return 0;
}

为啥超时啊?

2024/12/1 16:53
加载中...