程序设计思维与实践 Week11 作业
A - 必做题11-1
题目
分析
简单的模拟题,只要在20年内模拟每一年的价格就可以
代码
#include<iostream>
const int nmax=1E5+10;
using namespace std;
int main(){
double num=200,salary,percent,now=0;
scanf("%lf%lf",&salary,&percent);
percent/=100,now=salary;
for(int i=1;i<=20;++i){
if(now>=num) {
printf("%d\n",i ); return 0;
}
else {
//printf("no.%d, price =%lf,i have %lf\n",i,num,now);
now+=salary;
num*=1+percent;
}
}
printf("Impossible\n");
return 0;
}
B - 必做题11-2
分析
这道题是一个模拟队列旋转的题目,我们只要根据每一行转化枚举的顺序就可以完成旋转在旋转后判断就可以了
代码
#include<iostream>
const int nmax=20+5;
using namespace std;
int tar[nmax][nmax],myleft[nmax][nmax],myright[nmax][nmax],updown[nmax][nmax],now[nmax][nmax];
int n;
bool judge(int op[nmax][nmax]){
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
if(tar[i][j]!=op[i][j]) return false;
return true;
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
scanf("%d",&now[i][j]);
for(int i=1;i<=n;++i)
for(int j=