2022“杭电杯”中国大学生算法设计超级联赛(6)1009 MAP

alt

#include<bits/stdc++.h>
using  namespace std;
struct node{
	int x,y;
};
struct fang{
	node a,b,c,d;
};
double k1,k2;
void func(int a,int b,int c,int d,int m,int n){
      	k1 = (double)((m*d-n*b)*1.0) / (a*d - b * c);
	    k2 = (double)(n-(c*k1)*1.0)/d;
	    return ;
}
int main(){
	int T;
	scanf("%d",&T);
	while(T--){
		fang mp1,mp2;
		cin>>mp1.a.x>>mp1.a.y;
		cin>>mp1.b.x>>mp1.b.y;
		cin>>mp1.c.x>>mp1.c.y;
		cin>>mp1.d.x>>mp1.d.y;
		cin>>mp2.a.x>>mp2.a.y;
		cin>>mp2.b.x>>mp2.b.y;
		cin>>mp2.c.x>>mp2.c.y;
		cin>>mp2.d.x>>mp2.d.y;
		node AB,AD,ab,ad;
		AB.x=mp1.b.x-mp1.a.x;
		AB.y=mp1.b.y-mp1.a.y;
		AD.x=mp1.d.x-mp1.a.x;
		AD.y=mp1.d.y-mp1.a.y;
		ab.x=mp2.b.x-mp2.a.x;
		ab.y=mp2.b.y-mp2.a.y;
		ad.x=mp2.d.x-mp2.a.x;
		ad.y=mp2.d.y-mp2.a.y;
		
		node A,B;
		A.x=AB.x-ab.x;
		A.y=AB.y-ab.y;
		B.x=AD.x-ad.x;
		B.y=AD.y-ad.y;
		node Aa;
		Aa.x=mp2.a.x-mp1.a.x;
		Aa.y=mp2.a.y-mp1.a.y;
		func(A.x,B.x,A.y,B.y,Aa.x,Aa.y);
		double ansx=k1*AB.x+k2*AD.x+mp1.a.x;
		double ansy=k1*AB.y+k2*AD.y+mp1.a.y;
		printf("%.6lf %.6lf",ansx,ansy);
	}
	return 0;
}
全部评论

相关推荐

02-23 12:32
已编辑
门头沟学院 嵌入式工程师
King987:学历没有问题,然后既然有实习经历的话,把这个放在上面多写一点,哪怕你自己包装一下,只要能圆回来就行,既然有实习经历的话,肯定主要看实习经历之类的。然后也会主要问这里多准备准备
点赞 评论 收藏
分享
02-25 11:29
产品经理
牛客444597598号:兄弟 我只能说如果想找产品经理这种简历 基本就是毕业失业了 你这连实习都找不到的 简历跟产品经理一点都没有关系,你可以去搜搜产品的模版吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务