B3892 Float Point Exception
  • 板块学术版
  • 楼主Tsuki091117
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/10/12 18:56
  • 上次更新2024/10/12 19:01:34
查看原帖
B3892 Float Point Exception
1069816
Tsuki091117楼主2024/10/12 18:56
#include<bits/stdc++.h>
using namespace std;
int n,Q,l,r;
int a[1010];
string s[1010];
int main(){
    cin>>n>>Q;
    for(int i=1;i<=n;i++){
        cin>>s[i];
    }
    for(int i=1;i<=n;i++){
        int p,q;
        int fha=1,fhb=1,fhc=1,aa=0,bb=0,cc=0;
        for(int j=0;j<s[i].size();j++){
            if(s[i][0]=='-') fha=-1;
            if(s[i][j]!='x'&&s[i][j]!='-'){
              aa=aa*10+s[i][j]-'0';
            }
            else{
                p=j;  
                break;           
            }
        }//求a
        aa*=fha;
        for(int j=p+2;j<s[i].size();j++){
            if(s[i][j]!='='){
                if(s[i][p+1]=='-') fhb=-1;
                // if(s[j]!=)
                bb=bb*10+s[i][j]-'0';
            }
            else{
                q=j;
                break;
            }        
        }
        bb*=fhb;
        for(int j=p=q+1;j<s[i].size();j++){
                if(s[i][p+1]=='-') fhc=-1;
                if(s[i][j]!='-')
                    cc=cc*10+s[i][j]-'0';
            else{
                q=j;
                break;
            }        
        }
        a[i]=(int)(cc-bb)/aa;
    }
    sort(a+1,a+n+1);
    while(Q--){
        int l,r;
        int ans=0;
        for(int i=1;i<=n;i++){
            if(a[i]>=l&&a[i]<=r) ans++;
            else break;
        }
        cout<<ans<<"\n";
    }
    return 0;
}

   
2024/10/12 18:56
加载中...