p3843求助!
  • 板块学术版
  • 楼主lzh301
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/9/9 21:34
  • 上次更新2024/9/10 13:57:24
查看原帖
p3843求助!
840140
lzh301楼主2024/9/9 21:34

源代码

#include<bits/stdc++.h>
using namespace std;
long long a[10010][3],b[10010][3];
long long a1=0,b1=0;
double ans=9999999.99;
int main(){
	int x,y,m;
	cin>>x>>y>>m;
	a[++a1][1]=x;
	a[a1][2]=y;
	for(int i=1;i<=m;i++){
		int d,l;char c;
		cin>>d>>c;
		if(d>0){
			l=1;
		}else{
			l=-1;
		}
		for(int j=1;j<=abs(d);j++){
			if(c=='X'){
				a[++a1][1]=a[a1-1][1]+l;
				a[a1][2]=a[a1-1][2];
			}
			if(c=='Y'){
				a[++a1][2]=a[a1-1][2]+l;
				a[a1][1]=a[a1-1][1];
			}
		}
	}
	cin>>x>>y>>m;
	b[++b1][1]=x;
	b[b1][2]=y;
	for(int i=1;i<=m;i++){
		int d,l;char c;
		cin>>d>>c;
		if(d>0){
			l=1;
		}else{
			l=-1;
		}
		for(int j=1;j<=abs(d);j++){
			if(c=='X'){
				b[++b1][1]=b[b1-1][1]+l;
				b[b1][2]=b[b1-1][2];
			}
			if(c=='Y'){
				b[++b1][2]=b[b1-1][2]+l;
				b[b1][1]=b[b1-1][1];
			}
		}
	}
	for(int i=1;i<=max(a1,b1)*10;i++){
		long long x1=a[(i-1)%a1+1][1],x2=b[(i-1)%b1+1][1],y1=a[(i-1)%a1+1][2],y2=b[(i-1)%b1+1][2];
		double k=1.0*sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
		ans=min(ans,k);
	}
	printf("%.2lf",ans);
}

样例过了 但是样例点全爆零 求助QWQ!

2024/9/9 21:34
加载中...