#include<bits/stdc++.h>
using namespace std;
long long s=0,n;
void move(long long n,char a,char c,char b)
{
if (n==0) return;
move(n-1,a,b,c);
s++;
move(n-1,b,c,a);
}
int main()
{
cin>>n;
move(n,'a','c','b');
cout<<s;
return 0;
}
by 杨正凌 @ 2018-08-15 21:56:30
求助大佬
by 杨正凌 @ 2018-08-15 21:56:52
程序只有60分,最后两个点TLE。 求助大佬
by 杨正凌 @ 2018-08-15 21:58:33
急用!
by 杨正凌 @ 2018-08-15 21:59:01
这个题要高精
n<=15000,n够大时long long也会超
by 捻红尘似水 @ 2018-08-15 22:06:16
那。。。这个
#include<bits/stdc++.h>
using namespace std;
unsigned long long s=0,n;
void move(long long n,char a,char c,char b)
{
if (n==0) return;
move(n-1,a,b,c);
s++;
move(n-1,b,c,a);
}
int main()
{
cin>>n;
move(n,'a','c','b');
cout<<s;
return 0;
}
by 杨正凌 @ 2018-08-15 22:08:16
超不超时?
by 杨正凌 @ 2018-08-15 22:08:52
我用递归写的。。。
by 杨正凌 @ 2018-08-15 22:14:14
@[捻红尘似水](/space/show?uid=92798) 超不超时?
我用递归写的。。。
by 杨正凌 @ 2018-08-15 22:15:33
。。。
by 捻红尘似水 @ 2018-08-16 13:35:11