为啥:
#include<bits/stdc++.h>
using namespace std;
int vis(int a,int b){
int s=0;
if((a+b)%2==0&&a!=b){
int k=(a+b)/2;
int j=a-k;
return vis(k,b)+vis(j,b);
}
else{
return 1;
}
}
int main()
{
int n,k;
cin>>n>>k;
int sum=vis(n,k);
cout<<sum;
return 0;
}
vis,sum用int79分
改为long long就AC
#include<bits/stdc++.h>
using namespace std;
long long vis(int a,int b){
if((a+b)%2==0&&a-b>0){
int k=(a+b)/2;
int j=a-k;
return vis(k,b)+vis(j,b);
}
else{
return 1;
}
}
int main()
{
int n,k;
cin>>n>>k;
long long sum=vis(n,k);
cout<<sum;
return 0;
}
帮我解答的
我会给关注