原题:https://www.luogu.com.cn/problem/P5208
编译失败,麻烦看一下哪里错了
//I君的函数
// Created by 庄开宇 on 2022/9/10.
#include<bits/stdc++.h>
using namespace std;
long long n,r,l,s,len;
unsigned long long int x;
char str[257];
inline void write(int x){
char F[200];
int tmp=x>0?x:-x ;
if(x<0)putchar('-') ;
int cnt=0 ;
while(tmp>0){
F[cnt++]=tmp%10+'0';
tmp/=10;
}
while(cnt>0)putchar(F[--cnt]) ;
}
inline int read(){
int x=0,f=1,j=1;
char c=getchar();
while(c<'0'||c>'9'){
if(c == '-')f=-1;
c=getchar();
}
while(c>='0'&&c<='9'){
x=x*10+c-'0';
c=getchar();
}
return x*f;
}
signed main(){
l=read(),r=read(),n=read();
for(int i=1;i<=n;i++){
x=0,i=0;
cin>>str+1;
len=strlen(str+1);
if(str[1]=='0'&&len!=1){
write(1);
printf("\n");
continue;
}
if(str[1]=='-'){
if(len==1){
write(1);
printf("\n");
}else if(str[2]=='0'){
write(1);
printf("\n");
}
else if(len>20) {
write(2);
printf("\n");
}else{
int position=2;
while(position<=len){
x=x*10+(int)str[position]-48;
position++;
}
x=-x;
if(x>=l){
write(0);
printf("\n");
}else{
write(2);
printf("\n");
}
}
}else{
if(len>19){
write(2);
printf("\n");
}else{
int position=1;
while(position<=len){
x=x*10+(int)str[position]-48;
position++;
}
if(x<=r){
write(0);
printf("\n");
}else{
write(2);
printf("\n");
}
}
}
}
return 0;
}
自测无问题,如果能够告知,感激不尽