为什么不能用__int128
查看原帖
为什么不能用__int128
517320
CyaNgw_DyG楼主2022/1/30 10:35

ACAC代码↓

#include<bits/stdc++.h>
using namespace std;
long long t,l,r;
int main(){
    cin>>t;
    while(t--){
		cin>>l>>r;
        cout<<((l+r)%2==0?(((l+r)/2)%9*(r-l+1)%9)%9:((l+r)%9*((r-l+1)/2)%9)%9)<<endl;
    }
}

int128int128:70分代码(后面三个点wa了)

#include<bits/stdc++.h>
using namespace std;
__int128 n,l,r,k;
__int128 read() {
    int X=0,w=1;
    char ch=getchar();
    while(ch<'0' || ch>'9') {if(ch=='-') w=-1;ch=getchar();}
    while(ch>='0' && ch<='9') X=(X<<3)+(X<<1)+ch-'0',ch=getchar();
    return X*w;
}
void print(__int128 x){if(x!=0)print(x/10);else return;putchar(x%10+'0');}
int main(){
    n=read();
    while(n--){
		l=read(),r=read();
        k=(l+r)%2==0?(((l+r)/2)%9*(r-l+1)%9)%9:k=((l+r)%9*((r-l+1)/2)%9)%9;
        if(k==0)cout<<0;
        else print(k);
        cout<<endl;
    }
}

能有OIer解答解答吗,Orz~

2022/1/30 10:35
加载中...