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

网站建设初稿做爰全过程免费的视网站

网站建设初稿,做爰全过程免费的视网站,福州seo推广公司,陕西做网站一#xff1a;题目 给定k个正整数#xff0c;用算术运算符#xff0c;-#xff0c;#xff0c;/ 将这k个正整数连接起来#xff0c;是最终的得数恰为m。 如果有多组满足要求的表达式#xff0c;只要输出一组#xff0c;每一步算式用分号隔开。 如果无法得到m#xff…一题目 给定k个正整数用算术运算符-/ 将这k个正整数连接起来是最终的得数恰为m。 如果有多组满足要求的表达式只要输出一组每一步算式用分号隔开。 如果无法得到m得输出“No Solution”。 样例输入:d 5 125 7 2 2 12 3 第一行输入整数的个数k和m 第二行输入k个整数。 这只是其中一种结果 样例输出 7321 21*12252 252-2250 250/2125 二思路 1.排列树 子集树 2.我们穷举所有的可能的数字组合这是全排列但要注意的是在全排列中如果给出的数据有重复的数字那么我们求的全排列后的数据是有重复的所以我们要进行去重处理 3.得到全排列的结果后我们要对每一个全排列的结果进行子集树处理因为每一次往下递归都是’’,’-’,’*’,’/’;递归的终止条件就是当我们统计 sum M时候,或者是我们的操作符个数满足要求的时候如果仅仅是操作符满足个数是不统计操作符的结果的 二上码 /* 1.题目: 给定k个正整数用算术运算符-*/ 将这k个正整数连接起来是最终的得数恰为m。 如果有多组满足要求的表达式只要输出一组每一步算式用分号隔开。 如果无法得到m得输出“No Solution”。 样例输入: 5 125 7 2 2 12 3 第一行输入整数的个数k和m 第二行输入k个整数。 样例输出 7*321 21*12252 252-2250 250/21252.思路分析 从输出的样例顺序(7,3,12,2,2)可以得知,这是一种全排列后的结果,对于每组数据之间的加减乘除,我们 可以做子集树划分 */#includebits/stdc.h using namespace std;int N,M; int cnt 0; vectorvectorint ans1; vectorint path1;vectorvectorchar ans2; vectorchar path2;//求出数字的全排列组合 void backtacking1(int N,vectorint vec,vectorbool vis){if(path1.size() N){ans1.push_back(path1);return;}for(int i 0; i N; i){if(vis[i] true) continue;vis[i] true;path1.push_back(vec[i]);backtacking1(N,vec,vis);path1.pop_back();vis[i] false;} }//子集树的排列 //横向的for循环为加减乘除纵向的为一种全排列的结果 void backtacking2(vectorchar v1,vectorint v2,int sum,int index){if(sum M || path2.size() N - 1){ //这里递归结束的条件为满足 M时 if(sum M){ //还有的是操作符号的个数不能大于 N - 1个 ans2.push_back(path2);cnt 1;}return ; }for(int i 0; i 4; i){//这里小于4是有4个操作符 char ch v1[i];if(ch ){sum sum v2[index];}else if(ch -){sum sum - v2[index];}else if(ch *){sum sum * v2[index];}else if(ch /){sum sum / v2[index];}index;//表示纵向的一种全排列结果集的下标 path2.push_back(ch);//将符号存进去 backtacking2(v1,v2,sum,index);//这里的顺序不能乱 path2.pop_back();index--;if(ch ){sum sum - v2[index];}else if(ch -){sum sum v2[index];}else if(ch *){sum sum / v2[index];}else if(ch /){sum sum * v2[index];} } } //验证全排列 void text01(){ for(int i 0; i ans1.size(); i){for(int j 0; j N; j){cout ans1[i][j] ;}cout endl;} }int main(){vectorintv1;//输入的数据vectorvectorint v3;//记录可行解 vectorchar operators(4); setints[100]; setint:: iterator st;cin N M;for(int i 0; i N; i){int num;cin num;v1.push_back(num);}cout endl; vectorbool vis(N,false); backtacking1(N,v1,vis); operators[0] ;operators[1] -;operators[2] *;operators[3] /;for(int i 0; i ans1.size(); i){vectorint v2;int count 0; for(int j 0; j N; j){ v2.push_back(ans1[i][j]);if(ans1[i-1][j] ans1[i][j] i ! 0){count; } }if(count N){ // 这是为了去重的因为在全排列中如果有重复的元素那么最终输出 continue; //的结果是有重复的组数据的 }int num v2[0];backtacking2(operators,v2,num,1);if(cnt 1){//这里存的是满足条件的 数字组合 v3.push_back(v2);} cnt 0;}for(int i 0; i ans2.size(); i){//v3.size() 和ans2.size()大小是一致的 cout 操作数为:;for(int j 0; j N; j){cout v3[i][j] ;}cout endl;cout 操作符为:; for(int j 0; j N - 1; j){//N个数需要 N-1个操作符 cout ans2[i][j] ;}cout endl;}} //5 125 //7 3 12 2 2//5 125 //7 2 2 12 3下方的的数据按照操作符都可以得到正确结果
http://www.zqtcl.cn/news/624881/

相关文章:

  • 免费建站系统博客海外网站搭建
  • 网站建设与制作视频教学站酷网图片
  • 网站开发还有哪些万维网申请网站域名
  • 做网站费用上海判断网站做的好坏
  • 有了域名和空间怎么建网站哪些公司需要网页电商设计师
  • 网站开站备案深圳创业补贴10万
  • 圆通我做网站拉上海建站系统
  • 对于做网站有什么要求新闻发布会视频
  • 网站建设专业就业前景成都房产信息网 官网
  • 西宁网站建设公司排行网站查询域名ip解析
  • 柳州企业网站开发公司如何做网站首页图
  • 刷赞网站空间免费深圳网站制作公司排名
  • 网站内部优化策略获取网站的路径
  • 网站群 优点今天西安最新通告
  • 惠济免费网站建设设计制作的广告公司
  • 做一个网站建设装潢设计属于什么专业
  • 水处理网站源码注册销售公司流程和费用
  • 诸城网站建设0536s整站优化seo排名点击
  • 企业建设网站需注意哪些内容苏州网站怎么做
  • 浏览器打开网站网站推广软件工具
  • 网站主题编辑工具WordPress公司网站策划方案
  • 做旅游网站选什么空间搜索引擎优化策略有哪些
  • 网站备案多少钱安全网站建设与服务的关系
  • 手机端网页设计尺寸规范优化seo排名
  • 做网站业务提成多少厦门十大装修公司排名榜
  • 为什么用开源建站wordpress rss 插件
  • 语文建设投稿网站南昌做网站的公司多不多
  • 石家庄网站建设的公司功能性质网站
  • 企业网站主页模板装饰公司名字起名大全
  • 马鞍山网站设计价格如何在微信公众号内部做网站