小Q搜寻了整个魔法世界找到了四块魔法石所在地,当4块魔法石正好能构成一个正方形的时候将启动魔法阵,小Q就可以借此实现一个愿望。
现在给出四块魔法石所在的坐标,小Q想知道他是否能启动魔法阵
小Q搜寻了整个魔法世界找到了四块魔法石所在地,当4块魔法石正好能构成一个正方形的时候将启动魔法阵,小Q就可以借此实现一个愿望。
现在给出四块魔法石所在的坐标,小Q想知道他是否能启动魔法阵
输入的第一行包括一个整数(1≤T≤5)表示一共有T组数据
每组数据的第一行包括四个整数x[i](0≤x[i]≤10000),即每块魔法石所在的横坐标
每组数据的第二行包括四个整数y[i](0≤y[i]≤10000),即每块魔法石所在的纵坐标
对于每组数据,如果能启动魔法阵输出“Yes”否则输出“No”。
3 0022 0202 0156 1605 0077 0303
Yes Yes No
while(true){
$n=0;
fscanf(STDIN, "%d", $n);
if(empty($n)){
exit;
}
for($j=0; $j<$n; $j++){
// 使用%s取值,不然0会***掉
fscanf(STDIN, "%s", $x); // x轴
fscanf(STDIN, "%s", $y); // y轴
$xx = str_split($x);
$yy = str_split($y);
$arr = []; // 保存各点之间的距离
for($i=0; $i<4; $i++){
for($ii=0; $ii<4; $ii++){
if($ii==$i){
continue;
}
$arr[] = abs(pow($xx[$i]-$xx[$ii], 2)+pow($yy[$i]-$yy[$ii], 2));
}
}
// 4位 8位
$return = [];
foreach($arr as $key=>$val){
$return[$val]++;
}
if(count($return) != 2){
echo "No\n";
}else{
echo "Yes\n";
}
}
}