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

南通网站建设方案咨询建设网站公司兴田德润在哪里

南通网站建设方案咨询,建设网站公司兴田德润在哪里,专业做涂料网站,设计类专业有哪些专业题目链接 https://vjudge.net/problem/UVA-1596 题目大意 输入并模拟执行一段程序#xff0c;输出第一个bug所在的行。每行程序有两种可能#xff1a; 数组定义#xff0c;格式为arr[size]。例如a[10]或者b[5]#xff0c;可用下标分别是0#xff5e;9和0#xff5e;4…题目链接 https://vjudge.net/problem/UVA-1596 题目大意 输入并模拟执行一段程序输出第一个bug所在的行。每行程序有两种可能 数组定义格式为arr[size]。例如a[10]或者b[5]可用下标分别是09和04。定义之后所有元素均为未初始化状态。 赋值语句格式为arr[index]value。例如a[0]3或者a[a[0]]a[1]。 赋值语句可能会出现两种bug下标index越界使用未初始化的变量index和value都可能出现这种情况。 程序不超过1000行每行不超过80个字符且所有常数均为小于2^31的非负整数。 解题思路 因为存在嵌套所以解析一个数组变量的值要用递归或者栈用map维护数组名到数组信息结构体的映射数组信息结构体应该包括数组的大小以及该数组各个下标的值用map int, int 来记录。具体实现细节见代码和注释。 代码 #include bits/stdc.h using namespace std; using ll long long; using ull unsigned long long; using ld long double; #define endl \n; const int maxn 1e3 10; const int INF 0x3fffffff; const int mod 1e9 7; struct Arra { // 数组信息结构体int size; // 该数组的大小mapint, int value; // 该数组各下标的值 }; mapstring, Arra ArrInfo; // 数组名到数组信息结构体的映射 const string err !!!;// 声明、创建一个数组 void createArr(const string s) {int pos s.find([);string arrName s.substr(0, pos);int size 0;for (int i pos 1; i s.size() - 1; i) {size size * 10 (s[i] - 0);}ArrInfo[arrName] {size}; }/*得到一个数组对应下标位置的值如果该值不存在则函数返回值返回-1题目保证变量值不会有负数所以可以用-1代表值不存在arrName是一个引用变量正常情况下返回数组变量名在该变量名不存在的时候会捎带回一个!!!来表示数组名不存在index也是引用变量正常情况下返回数组下标用于给等号左边的数组赋值在数组的该下标位置未初始化值的时候捎带回-1 */ int getValue(const string s, string arrName, int index) {int pos s.find([);arrName s.substr(0, pos); // 分割出数组变量名if (!ArrInfo.count(arrName)) { // 数组变量名不存在arrName err;return -1;}index 0;string tmps;int tmpi 0;if (isdigit(s[pos 1])) { // []内是数字直接得到数值for (int i pos 1; i s.size(); i) {if (s[i] ])break;tmpi tmpi * 10 (s[i] - 0);}index tmpi;} else { // []内是一个数组名递归获取值index getValue(s.substr(pos 1), tmps, tmpi);}auto value ArrInfo[arrName].value;if (tmpi -1 || index ArrInfo[arrName].size) {index -1;return -1;}if (!value.count(index)) {return -1;}return value[index]; }void solve() {string line;while (cin line, line[0] ! .) {int cnt 1;ArrInfo.clear();if (line.find() -1) { // 没有是数组初始化语句createArr(line);}string s;int ans 0;while (cin s, s[0] ! .) {cnt;if (ans ! 0)continue;int pos s.find();if (pos -1) {createArr(s);continue;}string arrName1, arrName2;int index1, index2;getValue(s.substr(0, pos), arrName1, index1);if (arrName1 err || index1 -1) {ans cnt;continue;}int a2 0;if (isdigit(s[pos 1])) {for (int i pos 1; i s.size(); i) {a2 a2 * 10 (s[i] - 0);}} else {a2 getValue(s.substr(pos 1), arrName2, index2);}if (a2 -1) {ans cnt;continue;}ArrInfo[arrName1].value[index1] a2;}cout ans endl;} }int main() {ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cout fixed;cout.precision(18);solve();return 0; }
http://www.pierceye.com/news/242832/

相关文章:

  • 电商网站优化方案个人网站设计与制作代码
  • 仙居建设规划局网站asp 茶叶网站模板
  • 福州网页模板建站梦幻西如何建立网站做代练
  • 专业做毕业设计网站设计禹州市城乡建设局网站
  • 魔站网站开发手机商城官网
  • 沧州 网站建设公众号搭建第三方平台
  • 天津建设项目招投标网站唐山网站建设推广
  • 长沙h5建站手机图片网站源码
  • php网站项目无锡有网页制作公司吗
  • 做企业网站需要收费吗wordpress单主题
  • 潮州网站开发多少钱wordpress用户调用
  • 湖南响应式网站公司闸北建设机械网站
  • 图书管理系统网站开发教程北京今朝装饰设计有限公司
  • 济南咨询行业网站开发qq降龙是哪个公司开发的
  • 可以做go分析的网站网站如何做营销
  • 企业网站设计要求做公司网站的价格
  • 网站建设与管理中专专业网页设计公司营销crm系统
  • wordpress全站甘肃省住房和城乡建设厅安置局网站
  • 做视频网站应该选什么服务器十大暗网搜索引擎
  • 建立外贸网站多少钱淮北招聘网最新招聘信息
  • 有做浏览单的网站jsp网站开发过程
  • 做网站用小型机或服务器wordpress 喜欢
  • 网站建设与维护采访稿中国建设银行电脑版
  • 企业网站建设变相收取等级保护费手游平台十大排名
  • 影响力网站建设恩施网站开发
  • 美术馆网站建设总体要求承德信息发布微信平台
  • 同城便民网站开发为什么企业需要建设网站
  • 网站制作推荐新鸿儒黄山游玩攻略及费用
  • 二手车网站的建设app与微网站的区别是什么
  • 深圳做棋牌网站建设哪家便宜网站域名更改后怎么做映射