求为什么RE
  • 板块灌水区
  • 楼主511_Juruo_wyk
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/11/9 18:52
  • 上次更新2023/11/9 20:43:26
查看原帖
求为什么RE
1025958
511_Juruo_wyk楼主2023/11/9 18:52

不理解为什么会RE,神奇的是把第 3434 行删了之后就不会RE了,但会WA

#include<bits/stdc++.h>
#define no puts("-1")
using namespace std;
const int N = 1e6;
int top=0,top2=0;
int a[N],b[N];
int num;
int a_i;
void dfs(int n,int step){
    bool flag=false;
    for(int i=1;i<=top;i++){
        if(a[i]==0)continue;
        if(a[i]%n!=0||n%a[i]!=0)continue;
        flag=true,num=a[i];
        a[i]=0;dfs(num,step+1);
        a[i]=num;
    }
    if(!flag){
        if(step%2==0){
            cout<<b[a_i];
            exit(0);
        }
    }
}
void init(){
    string nums,bnum;getline(cin,nums);
    nums+=" ";
    int w=0;
    for(int i=0;i<nums.size();i++){
        if(nums[i]>='0'&&nums[i]<='9')w*=10,w+=nums[i]-'0';
        else a[++top]=w,w=0;
    }
    w=0;getline(cin,bnum);
    bnum+=" ";
    for(int i=0;i<bnum.size();i++){
        if(bnum[i]>='0'&&bnum[i]<='9')w*=10,w+=bnum[i]-'0';
        else b[++top2]=w,w=0;
    }
}
int main(){
    int x;char w;
//    while(scanf("%d%c",&x,&w)&&w!='\n')a[++top]=x;
//    while(cin>>x)b[++top2]=x;
    init();
    sort(b+1,b+1+top2);
    for(a_i=1;a_i<=top2;a_i++){
        dfs(b[a_i],1);
    }
    no;
	return 0;
}

有没有大佬能帮我看看为什么第 3434 行会RE。

学术版发过了(here),但没人回(除了我的一个同学),所以就迁到灌水区看看有木有大佬了。

2023/11/9 18:52
加载中...