已知直角坐标系中,点A(6,0),点B(0,8),点C(-4,0),点M从C出发,沿着CA方向,以每秒2个单位的速度向点A已知直角坐标系中,点A(6,0),点B(0,8),点C(-4,0),点M从C出发,沿着CA方向,以每秒2个单位的速度向点A运动;点N从点A出发,沿着AB方向,以每秒5个单位的速度运动,MN与y轴的交点为P,点M,N同时开始运动,当点M到达点A时,运动停止。设运动的时间为t秒。(1)当t为多少时,MN⊥AB(2)在点M从点C到点O的运动过程中(不包括O点,)MP/PN的值是否会发生变化?若不变。试求出这个不变的值,若会发生变化,试说明理由;(3) 在整个运动过程中,△BPN是否可能是等腰三角形?若能,试求出相应的t的值。若不能,试说明理由

问题描述:

已知直角坐标系中,点A(6,0),点B(0,8),点C(-4,0),点M从C出发,沿着CA方向,以每秒2个单位的速度向点A
已知直角坐标系中,点A(6,0),点B(0,8),点C(-4,0),点M从C出发,沿着CA方向,以每秒2个单位的速度向点A运动;点N从点A出发,沿着AB方向,以每秒5个单位的速度运动,MN与y轴的交点为P,点M,N同时开始运动,当点M到达点A时,运动停止。设运动的时间为t秒。
(1)当t为多少时,MN⊥AB
(2)在点M从点C到点O的运动过程中(不包括O点,)MP/PN的值是否会发生变化?若不变。试求出这个不变的值,若会发生变化,试说明理由;
(3) 在整个运动过程中,△BPN是否可能是等腰三角形?若能,试求出相应的t的值。若不能,试说明理由

#include
using namespace std;
const int DoctorCount = 7;
struct Constraint
{
int doc1;
int relation;
int doc2;
int days;
};
bool check(int *doctors, Constraint *constrains, int n, int index)
{
if (index DoctorCount || doctors[index] == -1)
{
return false;
}
for (int i = 0; i {
for (int j = 0; j {
if (doctors[i] == doctors[j] && i != j)
{
return false;
}
}
}
for (int i = 0; i {
Constraint *p = &constrains[i];
if (p->doc1 doc2 {
if (p->relation == 1)
{
if (doctors[p->doc2] - doctors[p->doc1] != p->days)
{
return false;
}
}
else
{
if (doctors[p->doc1] - doctors[p->doc2] != p->days)
{
return false;
}
}
}
}
return true;
}
bool slove(int *doctors, Constraint *constrains, int n, int index)
{
if (index >= DoctorCount)
{
return true;
}

if (doctors[index] != -1)
{
return slove(doctors, constrains, n, index + 1);
}
for (int i = 1; i {
doctors[index] = i;
if (check(doctors, constrains, n, index))
{
if (slove(doctors, constrains, n, index + 1))
{
return true;
}
}
doctors[index] = -1;
}
return false;
}
int main( )
{
int n;
cin>>n;
int doctors[7];
for (int i = 0; i {
doctors[i] = -1;
}
Constraint *constraints;
constraints = new Constraint[n];
int constraints_count = 0;
for (int i = 0; i {
char tmp[20];
cin>>tmp;
if (tmp[1] == '=')
{
doctors[tmp[0] - 'A'] = tmp[2] - '0';
}
else
{
constraints[i].doc1 = tmp[0] - 'A';
constraints[i].relation = tmp[1] == '>' ? 1 : 0;
constraints[i].doc2 = tmp[2] - 'A';
constraints[i].days = tmp[3] - '0';
constraints_count++;
}
}
slove(doctors, constraints, constraints_count, 0);
for (int i = 0; i {
cout }
delete []constraints;
return 0;
}

依题意可知,M、N的坐标分别为M(2t-4,0),N(6-3t,4t),
(1),当MN⊥AB时,直线MN的斜率为3/4,(因为kAB=-4/3)
所以4t/[(6-3t)-(2t-4)=3/4 , t=30/31.
故t=30/31时,MN⊥AB.
(2)直线MN 的方程为:y=4t/(10-5t)*[x-2t+4],
故P点坐标为(0,4t(4-2t)/(10-5t) ).
计算太复杂.你自己计算吧.
(3),要考虑三种情况:BP=BN;BP=PN;BN=PN.