注:此为c++代码
虽然我的代码无注释,但如想复制,必须完全搞懂代码所对应的题!
Dev c++这东西点进来的都有吧,详情见我的另一篇文章。
正式进入题解部分: (本人小白,大佬们请勿吐槽)
1312:
#include<bits/stdc++.h>
using namespace std;
long long int x,y,e[100],c[100],z;
int main(){
cin>>x>>y>>z;
for(int i=1;i<=z+1;i++){
if(i<=x){
e[i]=0;
c[i]=1;
}
else{
e[i]=c[i-x]*y;
c[i]=c[i-1]+e[i-2];
}
}
cout<<c[z+1];
return 0;
}
1314:
#include<bits/stdc++.h>
using namespace std;
long long int f[100][100],m,n,x,y;
int main(){
cin>>n>>m>>x>>y;
for(int i=0;i<=n;i++){
for(int j=0;j<=m;j++){
if(i==0&&j==0) f[i][j]=1;
else if(i==x&&j==y||abs(i-x)+abs(j-y)==3&&i!=x&&j!=y) f[i][j]=0;
else if(i==0) f[i][j]=f[i][j-1];
else if(j==0) f[i][j]=f[i-1][j];
else f[i][j]=f[i-1][j]+f[i][j-1];
}
}
cout<<f[n][m];
return 0;
}
1189:
#include<bits/stdc++.h>
using namespace std;
long long int a[1000001],k,n,maxx=2;
int main(){
a[1]=1;
a[2]=2;
cin>>n;
for(int i=1;i<=n;i++){
cin>>k;
if(k>maxx){
for(int j=maxx;j<=k;j++) a[j]=(2*a[j-1]+a[j-2])%32767;
maxx=k;
}
cout<<a[k]<<endl;
}
return 0;
}
1190:
#include<bits/stdc++.h>
using namespace std;
long long int n,a[100];
int main(){
a[1]=1;
a[2]=2;
a[3]=4;
while(cin>>n){
if(n==0) return 0;
for(int i=4;i<=n;i++) a[i]=a[i-1]+a[i-2]+a[i-3];
cout<<a[n]<<endl;
}
return 0;
}
1196:
#include<bits/stdc++.h>
using namespace std;
long long int n,f[100];
int main(){
cin>>n;
f[1]=3;
f[2]=7;
for(int i=3;i<=n;i++) f[i]=2*f[i-1]+f[i-2];
cout<<f[n];
return 0;
}
//水分代码
下次发:
信息学奥赛一本通
1315,1316,1198,1200,1202,1203,1206,1207,1208,1211