题解:P6393 隔离的日子
P6393 隔离的日子
题意
给定
思路
我们发现,上面这个式子可以化简为
AC 代码
请勿抄袭
#include<bits/stdc++.h>
#define by using
#define di namespace
#define awa std
by di awa;
struct di1236{
long long a; // 甜度 a
long long b; // 咸度 b
}d[50002];
int n;
bool flag;
inline long long read(){//快读,用来优化代码
long long k = 0, f = 1;
char c = getchar();
while (c < '0' || c > '9') {
if (c == '-') f = -1;
c = getchar();
}
while (c >= '0' && c <= '9') {
k = k * 10 + (c - '0');
c = getchar();
}
return k * f;
}
int main() {
n = read();
for (int i=1;i<=n;++i){
d[i].a=read();
d[i].b=read();
}
for (int i=1;i<n;++i){//循环又1到n-1是因为最后一个栗子永远无法匹配
bool flag=0;
long long d1=d[i].a,d2=d[i].b,d3= b_i*b_i;//记录当前这个栗子的甜度咸度,bb为当前栗子的咸度平方(化简后的式子会用到)
for (int j=i+1;j<=n;++j) {
long long d4=d[j].a,d5=d[j].b;//我们枚举到的当前栗子的甜咸度
if (d5*(d4-d1-d2)==d3){//上面提到的化简后的式子
printf("%d\n",j);
flag=1;
break;
}
}
if (!flag){//若刚才没找到,就输出-1;
printf("-1\n");
}
}
printf("-1\n");//最后一个栗子无法匹配
return 0;
}