0
已解决
陈曦
资深天翼
资深天翼
#include<iostream>
#include<cstring>
using namespace std;
const int MAXN=1005;
string x,y,f[1005];
long long n,a[MAXN],b[MAXN],c[MAXN];
string Plus(string x,string y){
string ans="";
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
a[0]=x.size();
b[0]=y.size();
c[0]=max(a[0],b[0]);
for(int i=1;i<=a[0];i++)
a[i]=x[a[0]-i]-'0';
for(int i=1;i<=b[0];i++)
b[i]=y[b[0]-i]-'0';
int jw=0;
for(int i=1;i<=c[0];i++){
c[i]=a[i]+b[i]+jw;
jw=c[i]/10;
c[i]%=10;
}
if(jw!=0)
c[++c[0]]++;
for(int i=c[0];i>=1;i--)
ans=ans+char(c[i]+'0');
return ans;
}
int main(){
cin>>n;
f[1]="1",f[2]="1";
for(int i=3;i<=n;i++){
f[i]=Plus(f[i-1],f[i-2]);
}
cout<<f[n];
return 0;
}
考完了,提交了,0分了,哪错了?
陈曦在2021-02-06 21:18:01追加了内容
题目:
题目描述 Description
有一面长n米高3米的围墙,要给围墙贴上长3米宽1米的瓷砖,要求瓷砖必须完整,且墙面所有地方都被覆盖到,问一共有多少种贴法?
提示:如果围墙长1米,只有一种贴法:
如果围墙长2米,也只有一种贴法:
如果围墙长3米,有两种贴法:
输入描述 Input Description
输入一个正整数n。
输出描述 Output Description
输出贴瓷砖的总方法数。
样例输入 Sample Input
4
样例输出 Sample Output
3
数据范围及提示 Data Size & Hint
对于40%的数据,1<=n<=90;
对于100%的数据,1<=n<=1000。
陈曦在2021-02-08 15:05:14追加了内容
1
0
已采纳
黄依成
中级天翼
中级天翼
我补课的时候也有一个阶段考,也有这道题
这题其实挺简单的(其实当时我没做出来qwq)
找规律,推出来:
f[i]=f[i-1]+f[i-3]
黄依成在2021-02-06 21:51:55追加了内容
COOL888888
0
0
0
0
陈曦
资深天翼
资深天翼
@黄依成 @汪恺恒
我觉得你们回答的都很好,那你们如果想被采纳的话就看手速吧,先打出
COOL888888 的采纳。
如果3天内你们中每一人回,就采纳其它人中最快的那个
0
0
0
褚俊皓
新手天翼
新手天翼
#include<iostream>
using namespace std;
int f[1010];
int main(){
int n;
cin>>n;
f[1]=1;
f[2]=1;
f[3]=2;
for(int i=4;i<=n;i++){
f[i]=f[i-1]+f[i-2];
}
cout<<f[n];
return 0;
}
我也是0分
0
0
0