Hdu 提交 403 forbidden
  • 板块灌水区
  • 楼主__vector__
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/12/29 19:40
  • 上次更新2024/12/30 10:25:39
查看原帖
Hdu 提交 403 forbidden
507348
__vector__楼主2024/12/29 19:40

很诡异的一件事。

我提交 HDU 4153 的时候,写了一份完整代码,然后提交,然而 403 forbidden,提交记录也没有我的信息。

反复多次提交,换 IP 换网络也没用,求助同学账号提交也是一个结果。

然后,我同学稍微修改了代码,给位运算加了个括号(不影响逻辑),然后就能交上去了。

我尝试在原始代码基础上随机删除了近一半字符,也能交上去,但是删的字符稍微少点就交不上去了。

有人遇到一样的情况吗?

无法提交成功的代码:

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <vector>
#include <cmath>
#include <algorithm>
#include <cassert>
using namespace std;
#define FOR(i,a,b) for(int i=a;i<=b;i++)
#define REP(i,a,b) for(int i=a;i>=b;i--)
typedef long long ll;
ll a,b,n;
ll primes[100];
int top;
void solve(int id_of_test){
	scanf("%lld%lld%lld",&a,&b,&n);
    top=0;
    for(ll x=2;x*x<=n;x++){
        if(n%x==0){
            primes[++top]=x;
            while(n%x==0)n/=x;
        }
    }
    if(n>=2){
        primes[++top]=n;
    }
    int all=(1<<top)-1;
    ll ans=0;
    FOR(msk,1,all){
        ll mul=1;
        FOR(i,1,top){
            if(msk&(1<<(i-1))){
                mul=mul*primes[i];
            }
        }
        ll s=(b/mul)-(a/mul+(a%mul!=0))+1;
        
        ans+=s*(__builtin_parity(msk)?1:-1);
    }
    printf("Case #%d: %lld\n",id_of_test,b-a+1-ans);
}
int main()
{
	int T;
	scanf("%d",&T);
	FOR(_,1,T){
		solve(_);
	}
	return 0;
}
2024/12/29 19:40
加载中...