求助交互题:
  • 板块题目总版
  • 楼主register_new
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/9/10 10:17
  • 上次更新2023/10/27 12:09:17
查看原帖
求助交互题:
740907
register_new楼主2022/9/10 10:17

原题: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;
}

自测无问题,如果能够告知,感激不尽

2022/9/10 10:17
加载中...