为啥过不了(20pts)
查看原帖
为啥过不了(20pts)
1210378
CHZ_AK_CRZ楼主2024/5/28 12:46
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5;
int n,q,minn1=N,minn2=N,cnt;
char zuo[N],you[N],p;
int s1[N],s2[N];
int main()
{
    cin>>n;
	for(int i=1;i<=n;i++){
		cin>>zuo[i];
	}    
	for(int i=1;i<=n;i++){
		cin>>you[i];
	}   
	cin>>p>>q;
	for(int i=1;i<=n;i++){
		if(zuo[i]=='1') cnt++;
		if(you[i]=='1') cnt++;
	}
	if(cnt==2*n){
		cout<<-1;
		return 0;
	}
	for(int i=1;i<=n;i++){
		s1[i]=abs(q-i);
		s2[i]=abs(q-i);
	}
	for(int i=1;i<=n;i++){
		if(zuo[i]=='1') s1[i]=N;
		if(you[i]=='1') s1[i]=N;
	}
	s1[q]=N;
	s2[q]=N;
	for(int i=1;i<=n;i++){
		minn1=min(s1[i],minn1);
		minn2=min(s2[i],minn2);
	}
	if(minn1<minn2) cout<<0<<' '<<minn1;
	else if(minn1==minn2) cout<<p<<' '<<minn1;
	else if(minn1>minn2) cout<<1<<' '<<minn2;
    return 0;
}

求助QWQ

2024/5/28 12:46
加载中...