2 条题解

  • 2
    @ 2025-8-9 22:49:44
    #include<bits/stdc++.h>
    int n,ans=1; 
    long long a[10000];
    using namespace std;
    int main(){
        cin >> n;
        a[1]=1;
        a[2]=2;
        a[3]=4;
        for(int i=4; i<=n; i++){
        	a[i]=a[i-2]+a[i-1]+a[i-3];
        }
        cout << a[n];
        return  0;
    }
    
    • -2
      @ 2022-11-29 11:57:15

      #include<bits/stdc++.h>

      using namespace std; int main(){

      int n,a[4],i,j;
      cin>>n;
      a[1]=1;
      a[2]=2;
      a[3]=4;
      if(n<4){
      	cout<<a[n]<<endl;
      	return 0;
      }
      else{
      	for(i=4;i<=n;i++){
      		a[4]=a[3]+a[2]+a[1]; //滚动数组,不用也罢,空间要求不大 
      		int t=a[3];
      		a[3]=a[4];
      		a[1]=a[2];
      		a[2]=t;
      	}
      }
      cout<<a[4];
      return 0;
      

      }

      • 1

      信息

      ID
      1261
      时间
      1000ms
      内存
      256MiB
      难度
      6
      标签
      递交数
      295
      已通过
      100
      上传者