当前位置: 首页 > news >正文

网络营销网站建设课程建网站步骤

网络营销网站建设课程,建网站步骤,个人购物网站,用jsp建设网站某次无聊中, atm 发现了一个很老的程序。 这个程序的功能类似于 Excel ,它对一个表格进行操作。 不妨设表格有 nn 行,每行有 mm 个格子。 每个格子的内容可以是一个正整数,也可以是一个公式。 公式包括三种: SUM(…

某次无聊中, atm 发现了一个很老的程序。

这个程序的功能类似于 Excel ,它对一个表格进行操作。

不妨设表格有 nn 行,每行有 mm 个格子。

每个格子的内容可以是一个正整数,也可以是一个公式。

公式包括三种:

  1. SUM(x1,y1:x2,y2) 表示求左上角是第 x1x1 行第 y1y1 个格子,右下角是第 x2x2 行第 y2y2 个格子这个矩形内所有格子的值的和。
  2. AVG(x1,y1:x2,y2) 表示求左上角是第 x1x1 行第 y1y1 个格子,右下角是第 x2x2 行第 y2y2 个格子这个矩形内所有格子的值的平均数。
  3. STD(x1,y1:x2,y2) 表示求左上角是第 x1x1 行第 y1y1 个格子,右下角是第 x2x2 行第 y2y2 个格子这个矩形内所有格子的值的标准差。

标准差即为方差的平方根。

方差就是:每个数据与平均值的差的平方的平均值,用来衡量单个数据离开平均数的程度。

公式都不会出现嵌套。

如果这个格子内是一个数,则这个格子的值等于这个数,否则这个格子的值等于格子公式求值结果。

输入这个表格后,程序会输出每个格子的值。

atm 觉得这个程序很好玩,他也想实现一下这个程序。

输入格式

第一行两个数 n,mn,m。

接下来 nn 行输入一个表格。每行 mm 个由空格隔开的字符串,分别表示对应格子的内容。

输入保证不会出现循环依赖的情况,即不会出现两个格子 aa 和 bb 使得 aa 的值依赖 bb 的值且 bb 的值依赖 aa 的值。

输出格式

输出一个表格,共 nn 行,每行 mm 个保留两位小数的实数。

数据保证不会有格子的值超过 106106。

数据范围

1≤n,m≤501≤n,m≤50

输入样例:
3 2
1 SUM(2,1:3,1)
2 AVG(1,1:1,2)
SUM(1,1:2,1) STD(1,1:2,2)
输出样例:
1.00 5.00
2.00 3.00
3.00 1.48
题解:

        递归+模拟


        使用两个数组,一个double一个string来记录原始数据,如果是操作符就进入string ,如果是数字则进入num,并且string位置记录”0”。


        遍历数组,如果遇到操作符就进行操作,读取四个值和操作类型后遍历,如果遇到操作符就递归操作。


        注意操作完后string要更新成0。

代码:
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<iomanip>
#include<queue>
#include<stack>
#include<vector>
#include<unordered_set>
#include<unordered_map>
#include<map>
#include<set>
using namespace std;
typedef long long int ll;
const int INF=1e16;int n,m;
double num[55][55];
string st[55][55];void process(int i,int j){string s=st[i][j];if(st[i][j]=="0"){return;}else{int x1=0,x2=0,t1=0,t2=0;int t=4;while(s[t]!=','){x1*=10;x1+=(int)(s[t]-48);t++;}t++;while(s[t]!=':'){t1*=10;t1+=(int)(s[t]-48);t++;}t++;while(s[t]!=','){x2*=10;x2+=(int)(s[t]-48);t++;}t++;while(s[t]!=')'){t2*=10;t2+=(int)(s[t]-48);t++;}//cout << x1 << " " << t1 << " " << x2 << " " << t2 << "\n";if(s[0]=='S' && s[1]=='U' && s[2]=='M'){double sum=0;for(int k=x1;k<=x2;k++){for(int t=t1;t<=t2;t++){if(st[k][t]=="0"){sum+=num[k][t];}else{process(k,t);sum+=num[k][t];}}}num[i][j]=sum;st[i][j]="0";}else if(s[0]=='S' && s[1]=='T' && s[2]=='D'){double sum=0;for(int k=x1;k<=x2;k++){for(int t=t1;t<=t2;t++){if(st[k][t]=="0"){sum+=num[k][t];}else{process(k,t);sum+=num[k][t];}}}double avg=sum/((x2-x1+1)*(t2-t1+1));double f=0;for(int k=x1;k<=x2;k++){for(int t=t1;t<=t2;t++){f+=(num[k][t]-avg)*(num[k][t]-avg);}}f=f/((x2-x1+1)*(t2-t1+1));if(f<0.00001){f=0;}//cout << sum << " " << avg << " " << f << "\n";num[i][j]=sqrt(f);st[i][j]="0";}else if(s[0]=='A' && s[1]=='V' && s[2]=='G'){double sum=0;for(int k=x1;k<=x2;k++){for(int t=t1;t<=t2;t++){if(st[k][t]=="0"){sum+=num[k][t];}else{process(k,t);sum+=num[k][t];}}}num[i][j]=sum/((x2-x1+1)*(t2-t1+1));st[i][j]="0";}}
}void solve(){cin >> n >> m;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){string s;cin >> s;if(s[0]>='0' && s[0]<='9'){st[i][j]="0";int number=stoi(s);num[i][j]=number*1.0;}else{st[i][j]=s;}}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){process(i,j);}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){//cout << num[i][j] << " ";printf("%.2lf ",num[i][j]);}cout << "\n";}}int main(){solve();
}

http://www.dtcms.com/a/518707.html

相关文章:

  • 注册公司在哪个网站系统厦门网站建设方案优化
  • 免费个人网站建设大全企业网站ui设计欣赏
  • 杭州自助建站网站专门做酒的网站有哪些
  • 天津企业网站模板建站哪家好wordpress 协会主题
  • 专业微网站建设公司自己做网站可以上传软件下载
  • 合肥做兼职网站网站建设岗位能力评估表
  • 百姓网站制作注册建设网站的公司哪家好
  • 乐达网站建设公司全网络品牌推广
  • 如何百度收录我的网站最好的做网站
  • 有没有做淘宝网站的企业网站备案网址
  • 厦门网站建设的公司哪家好网站建设需要哪些流程
  • 网站建设 申请杭州百度公司在哪里
  • 网站流量监控怎么做wordpress语法高亮插件
  • windows2008 iis 网站配置越秀区手机版网站建设
  • 搭建网站视频教程郑州网站建设、
  • 成都网站建设 Vr功能 卓 公司WordPress多站点默认设置
  • 怎样做网站的用户分析郑州网站建设出名吗
  • 沈阳公司建设网站wordpress搜索排序
  • 做像素画的网站地推app
  • 做设计外包的网站温州设计公司排名
  • 网站建设专员一定要会网站建设吗营销型网站建设优化建站
  • 网站运营方案 网站建设设计制作植物标识牌
  • 参与做网站的收获软件推广赚佣金渠道
  • 查网站服务器速度网站建设都有什么技术支持
  • 西安医疗网站建设wordpress主题自定义模块
  • 徐州好点的做网站的公司怎样修改静态公司网站页面电话
  • 辽宁省营商环境建设局 网站网站建设好学吗
  • 有没有做羞羞的网站自己怎么制作微信网页链接
  • 企业建站系统是什么做企业网站一定要企业邮箱嘛
  • 原创网站设计wordpress custom fields