1 条题解
-
0
中规中矩的递推题#include<bits/stdc++.h> using namespace std; int a[4010];//一眼递推法 int main(){ int n; cin>>n;//输入 a[1]=1;//初始 for(int i=2;i<=n;i++){//开始递推 int b=a[i-1],c=i,d=b-c; if(d<=0) a[i]=a[i-1]+i;//如果不是正整数的话就加i else if(d>0){//是正整数 int flag=0;//属性的flag for(int j=1;j<=i;j++){//开始遍历 if(d==a[j]) flag=1;//如果出现过,中大奖辣! } if(flag==1) a[i]=a[i-1]+i;//你过关! else a[i]=a[i-1]-i;//该罚! } } sort(a+1,a+n+1);//从小到大 for(int i=1;i<=n;i++){ cout<<a[i]<<" ";//输出 } return 0;//完美 }
信息
- ID
- 1342
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者