帮帮忙看一下这两份代码有啥区别……
  • 板块灌水区
  • 楼主ATION001
  • 当前回复17
  • 已保存回复18
  • 发布时间2024/7/11 10:01
  • 上次更新2024/7/11 11:14:38
查看原帖
帮帮忙看一下这两份代码有啥区别……
1050501
ATION001楼主2024/7/11 10:01

我眼睛都快看花了都没看出来!!!

#1(状态:CE)

#include<bits/stdc++.h>
using namespace std;
string s;
long long n,len;
void dfs(int x,long long op,long long cnt){
    if(cnt>n){
        return;
    }
    if(x>len){
        cout<<cnt;
        exit(0);
    } 
    if(s[x]=='?'){
        dfs(x+1,op/2,cnt+op);
        dfs(x+1,op/2,cnt);
    }else{
        dfs(x+1,op/2,cnt+op*(s[x]-'0'));
    }
}
int mian(){
    cin>>s>>n;
    len=s.size();
    dfs(0,1ll<<(len-1),0);
    cout<<-1;
    return 0;
}

#2(状态:AC)

#include<bits/stdc++.h>
using namespace std;
string s;
long long n, len;
void dfs(int x,long long op,long long cnt){
  if (cnt>n){
    return;
  }
  if (x>len){
    cout<<cnt;
    exit(0);
  }
  if (s[x]=='?'){
    dfs(x+1,op/2,cnt+op);
    dfs(x+1,op/2,cnt);
  }else {
    dfs(x+1, op/2, cnt+op*(s[x]-'0'));
  }
}
int main(){
  cin>>s>>n;
  len=s.size();
  dfs(0,1ll<<(len-1),0);
  cout<<-1;
  return 0;
}

啊啊啊啊啊啊啊啊!!!

2024/7/11 10:01
加载中...