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

丹阳网站建设价格网站会员系统方案

丹阳网站建设价格,网站会员系统方案,做创业网站赚钱,然后在亚马逊网站上做外贸算法学习——华为机考题库10#xff08;HJ64 - HJ69#xff09; HJ64 MP3光标位置 描述 MP3 Player因为屏幕较小#xff0c;显示歌曲列表的时候每屏只能显示几首歌曲#xff0c;用户要通过上下键才能浏览所有的歌曲。为了简化处理#xff0c;假设每屏只能显示4首歌曲HJ64 - HJ69 HJ64 MP3光标位置 描述 MP3 Player因为屏幕较小显示歌曲列表的时候每屏只能显示几首歌曲用户要通过上下键才能浏览所有的歌曲。为了简化处理假设每屏只能显示4首歌曲光标初始的位置为第1首歌。 现在要实现通过上下键控制光标移动来浏览歌曲列表控制逻辑如下 歌曲总数4的时候不需要翻页只是挪动光标位置。 光标在第一首歌曲上时按Up键光标挪到最后一首歌曲光标在最后一首歌曲时按Down键光标挪到第一首歌曲。 输入说明 1 输入歌曲数量 2 输入命令 U或者D 输出说明 1 输出当前列表 2 输出当前选中歌曲 示例 代码解析 #include iostream using namespace std;int main() {int num;string str;cinnum;cinstr;int cur 0;int left 0,right;if(num 3) right 3;else right num-1;for(auto it:str){// coutcur left rightendl;if(it U) {cur--;cur cur%num;if(cur 0) cur num;if(num 4){if(cur left cur right ) {}else if( cur num-1 ) { left num - 1 - 3; right num - 1; }else { left-- ; right--; }}}else if(it D){cur;cur cur%num;if(cur 0) cur num;if(num 4){if(cur left cur right ) {}else if( cur 0 ) { left 0; right 3; }else { left ; right; }}} }for(int ileft ; iright ; i){couti1 ;}coutendl;coutcur1;} // 64 位输出请用 printf(%lld)HJ65 查找两个字符串a,b中的最长公共子串 描述 查找两个字符串a,b中的最长公共子串。若有多个输出在较短串中最先出现的那个。 注子串的定义将一个字符串删去前缀和后缀也可以不删形成的字符串。请和“子序列”的概念分开 数据范围字符串长度 1≤length≤300 进阶时间复杂度O(n 3) 空间复杂度O(n) 输入描述 输入两个字符串 输出描述 返回重复出现的字符 示例 代码解析 #include iostream #include string #include vector using namespace std;int main() {string str1,str2;cinstr1str2;if(str1.size() str2.size()){string tmp str1;str1 str2;str2 tmp;}int m str1.size() , n str2.size();vectorvectorint dp(m1,vectorint(n1,0));int indnx , lenght 0;for(int i1 ; im ;i){for(int j1 ; jn ;j){if(str1[i-1] str2[j-1]) dp[i][j] dp[i-1][j-1] 1;if(dp[i][j] lenght){lenght dp[i][j];indnx i;}}}// for(int i0 ; im ;i)// {// for(int j0 ; jn ;j)// {// coutdp[i][j] ;// }// coutendl;// }string result(str1.begin()indnx-lenght , str1.begin() indnx);coutresult;} // 64 位输出请用 printf(%lld)HJ66 配置文件恢复 描述 有6条配置命令它们执行的结果分别是 注意he he不是命令。 为了简化输入方便用户以“最短唯一匹配原则”匹配注需从首字母开始进行匹配 1、若只输入一字串则只匹配一个关键字的命令行。例如输入r根据该规则匹配命令reset执行结果为reset what输入res根据该规则匹配命令reset执行结果为reset what 2、若只输入一字串但匹配命令有两个关键字则匹配失败。例如输入reb可以找到命令reboot backpalne但是该命令有两个关键词所有匹配失败执行结果为unknown command 3、若输入两字串则先匹配第一关键字如果有匹配继续匹配第二关键字如果仍不唯一匹配失败。 例如输入r b找到匹配命令reset board 和 reboot backplane执行结果为unknown command。 例如输入b a无法确定是命令board add还是backplane abort匹配失败。 4、若输入两字串则先匹配第一关键字如果有匹配继续匹配第二关键字如果唯一匹配成功。例如输入bo a确定是命令board add匹配成功。 5、若输入两字串第一关键字匹配成功则匹配第二关键字若无匹配失败。例如输入b addr无法匹配到相应的命令所以执行结果为unknow command。 6、若匹配失败打印“unknown command” 注意有多组输入。 数据范围数据组数1≤t≤800 字符串长度1≤s≤20 进阶时间复杂度O(n) 空间复杂度O(n) 输入描述 多行字符串每行字符串一条命令 输出描述 执行结果每条命令输出一行 示例 代码解析 #include iostream #include sstream #include string #include vector using namespace std;vectorpairstring, string instr { {reset,},{reset,board},{board,add},{board,delete},{reboot,backplane},{backplane,abort}}; //存放每一对关键字vectorstring outstr { reset what,board fault,where to add,no board at all,impossible,install first}; //存放每条命令对应执行结果int main() {string str;while ( getline(cin,str) ) { // 注意 while 处理多个 casestringstream ss(str);string key;vectorstring date;while( getline(ss, key, ) ){date.push_back(key);}int count 0;string result;for(int i0 ; iinstr.size() ; i){int i1 instr[i].first.find(date[0]);int i2;if(date.size() 2 ){i2 instr[i].second.find(date[1]);}else if( date.size() 1 instr[i].second.empty() 1){i2 0;}else i2 -1;if( i1 0 i2 0 ){count;result outstr[ i ];}}if(count 1) coutresultendl;else coutunknown commandendl;str.clear();date.clear();} } // 64 位输出请用 printf(%lld)HJ67 24点游戏算法 描述 给出4个1-10的数字通过加减乘除运算得到数字为24就算胜利,除法指实数除法运算,运算符仅允许出现在两个数字之间,本题对数字选取顺序无要求但每个数字仅允许使用一次且需考虑括号运算 此题允许数字重复如3 3 4 4为合法输入此输入一共有两个3但是每个数字只允许使用一次则运算过程中两个3都被选取并进行对应的计算操作。 输入描述 读入4个[1,10]的整数数字允许重复测试用例保证无异常数字。 输出描述 对于每组案例输出一行表示能否得到24点能输出true不能输出false 示例 代码示例 #include iostream #include vectorusing namespace std;bool flag false; void track(vectordouble date ,vectorbool path , int indnx , double result) {if( indnx 4 || flag true ) return;//coutindnx resultendl;if( result 24 ){flag true;return;}for(int i0 ; idate.size() ;i){if(path[i] false){path[i] true;track(date, path, indnx 1 , result date[i]);track(date, path, indnx 1 , result - date[i]);track(date, path, indnx 1 , result * date[i]);track(date, path, indnx 1 , result / date[i]);path[i] false;}}}int main() {int tmp;vectordouble date;while (cin tmp) { // 注意 while 处理多个 casedate.push_back(tmp);}vectorbool path(date.size(),false);track(date,path,0,0);if(flag true) couttrueendl;else coutfalseendl;} // 64 位输出请用 printf(%lld)HJ68 成绩排序 描述 给定一些同学的信息名字成绩序列请你将他们的信息按照成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 例示 jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack 70 Tom 70 smith 67 从低到高 smith 67 jack 70 Tom 70 peter 96 注0代表从高到低1代表从低到高 **数据范围**人数1≤n≤200 进阶时间复杂度O(nlogn) 空间复杂度O(n) 输入描述 第一行输入要排序的人的个数n第二行输入一个整数表示排序的方式之后n行分别输入他们的名字和成绩以一个空格隔开 输出描述 按照指定方式输出名字和成绩名字和成绩之间以一个空格隔开 示例 代码解析 #include iostream #include utility #include vector #include string #include algorithmusing namespace std;static bool cmp1( pairstring,int a, pairstring,int b ) {return a.second b.second; }static bool cmp2( pairstring,int a, pairstring,int b ) {return a.second b.second; }int main() {int n;int flag;vectorpairstring,int date;cinn;cinflag;string name;int num;while (n--) { // 注意 while 处理多个 casecinnamenum;pairstring, int tmp;tmp.first name;tmp.second num;date.push_back( tmp );}if(flag 0) stable_sort(date.begin(), date.end() , cmp1);else stable_sort(date.begin(), date.end() , cmp2);for(int i0 ; idate.size() ;i)coutdate[i].first date[i].secondendl;return 0; } // 64 位输出请用 printf(%lld)HJ69 矩阵乘法 描述 如果A是个x行y列的矩阵B是个y行z列的矩阵把A和B相乘其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的 矩阵的大小不超过100*100 输入描述 第一行包含一个正整数x代表第一个矩阵的行数 第二行包含一个正整数y代表第一个矩阵的列数和第二个矩阵的行数 第三行包含一个正整数z代表第二个矩阵的列数 之后x行每行y个整数代表第一个矩阵的值 之后y行每行z个整数代表第二个矩阵的值 输出描述 对于每组输入数据输出x行每行z个整数代表两个矩阵相乘的结果 示例 代码解析 #include iostream #include vectorusing namespace std;int main() {int x1,x2,y1,y2;cinx1x2y2;y1 x2;vectorvectorint date1(x1,vectorint(y1,0));vectorvectorint date2(x2,vectorint(y2,0));vectorvectorint result(x1,vectorint(y2,0));int tmp;for(int i0 ; i x1 ; i){for(int j0 ; j y1 ; j){cintmp;date1[i][j] tmp;}}for(int i0 ; i x2 ; i){for(int j0 ; j y2 ; j){cintmp;date2[i][j] tmp;}}for(int i0 ; i x1 ; i){for(int j0 ; j y2 ; j){tmp 0;for(int k0 ; k y1 ; k){result[i][j] (date1[i][k] * date2[k][j]);}coutresult[i][j] ;}coutendl;}} // 64 位输出请用 printf(%lld)
http://www.w-s-a.com/news/797386/

相关文章:

  • 承德网站制作加盟天津做优化的网站有多少家
  • 北京市保障性住建设投资中心网站首页专业做网站联系电话
  • 镇江网站建设方式优化单页面网站教程
  • 做手机网站公司北京网页设计公司兴田德润实惠
  • 域名申请好了 要怎么做网站百度推广开户渠道
  • 电商网站建设 数商云焦作黄河交通学院
  • 做一个网站成本多少太原网站维护
  • 网站建设制作设计优化怎么制作网页步骤
  • 花都区pc端网站建设画册设计多少钱一页
  • 国外买域名的网站廊坊网站制作网页
  • 抚顺市城市建设档案馆网站制作网页时经常用的一种动态位图格式是
  • 公司网站站群是什么运营网站
  • 昆明网站建设大全安徽教育机构网站建设
  • 广州网站排名怎么优化中华衣柜网
  • 怎样围绕网站专题发展来做ppt城乡住建局官网
  • 安卓手机app制作关键词优化公司
  • 江苏固茗建设有限公司网站深圳网站建设深圳网
  • 高性能网站建设指南北京城乡建设官方网站
  • 企业网站找谁做做淘宝相关网站
  • 商业网站网站建设wordpress关闭前端公共库
  • 打开山东城市建设职业学院网站下载了wordpress后
  • 四川网站建设设计城乡建设网站证件查询系统
  • 企业邮箱哪里买栾城seo整站排名
  • 长沙网站建设zh68网页制作技术实训报告
  • 电商网站的功能手机广告设计与制作软件
  • 做网站前端需要编程基础吗杭州市住房和城乡建设局
  • 网站开发一般学多久网站建设投标方案
  • 北京网站建设报价表制作短视频的软件有哪些
  • 长沙企业网站开发西安建设公司网站
  • 做图的兼职网站网站开发用了哪些知识要点