本人在写自己编的题的std时突然发现CE了,求问大佬为啥,显示的是在判断map那行错了
#include<iostream>
#include<map>
#include<vector>
using namespace std;
const int N=4e3;
int n;
int k[N],b[N];
struct kb{
double x,y;
};
map<kb,int> mp;
vector<kb> vec;
void in(string s,int &k,int &b){
if(s[2]=='-'){
k=-int(s[3]-48);
if(s[5]=='-'){
b=-int(s[6]-48);
}else b=int(s[5]-48);
}else{
k=int(s[2]-48);
if(s[4]=='-'){
b=-int(s[5]-48);
}else b=int(s[5]-48);
}
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
string s;
cin>>s;
in(s,k[i],b[i]);
}
for(int i=1;i<=n;i++){
for(int j=i+1;j<=n;j++){
double x,y;
if(k[i]==k[j]) continue;
x=(b[j]-b[i])*1.0/(k[i]-k[j]);
y=k[i]*x+b[i];
kb p={x,y};
if(mp[p]==0){
mp[p]=1;
vec.push_back(p);
}
}
}
return 0;
}