高中信息学奥赛CSP-JS+NOIP—入门组C++重难点剖析)第13讲图论.pptx

高中信息学奥赛CSP-JS+NOIP—入门组C++重难点剖析)第13讲图论.pptx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

学科竞赛编程C++NOIPNOIIOI

题目描述自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果,在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图腾,于是他找上了你的爷爷的爷爷的爷爷的爷爷……帮忙,作为一个好孙子的孙子的孙子的孙子……你能做到吗?南蛮图腾

输入输出格式输入格式:每个数据一个数字,表示图腾的大小(此大小非彼大小)n=10输出格式:这个大小的图腾

输入输出样例

1PARTONE#includeiostreamusingnamespacestd;intn,a[1030]={1};intmain(){cinn;for(inti=0;i1n;++i){for(intj=1;j(1n)-i;++j)cout;//前导空格for(intj=i;j=0;--j)a[j]^=a[j-1];//修改数组if(!(i%2))for(intj=0;j=i;++j)cout(a[j]?/\\:);//奇数行elsefor(intj=0;j=i;j+=2)cout(a[j]?/__\\:);//偶数行coutendl;}return0;}

题目背景给定无向连通图G和m种不同的颜色。用这些颜色为图G的各顶点着色,每个顶点着一种颜色。如果有一种着色法使G中每条边的2个顶点着不同颜色,则称这个图是m可着色的。图的m着色问题是对于给定图G和m种颜色,找出所有不同的着色法。题目描述对于给定的无向连通图G和m种不同的颜色,编程计算图的所有不同的着色法。图片着色

输入格式:第1行有3个正整数n,k和m,表示给定的图G有n个顶点和k条边,m种颜色。顶点编号为1,2,…,n。接下来的k行中,每行有2个正整数u,v,表示图G的一条边(u,v)。输出格式:程序运行结束时,将计算出的不同的着色方案数输出。输入输出格式

输入输出样例

1PARTONE#includeiostream#includecstring#includecstdiousingnamespacestd;boolf[105][105];//存两个点是否连通intcolor[105];//存每个点的颜色intnum=0;intn,k,m;boolcheck(intsum){for(inti=1;i=sum;i++){if(f[i][sum]==truecolor[i]==color[sum]){returnfalse;}}returntrue;}//这里是判断冲突的核心,当两个图连通时且颜色一样就冲突voiddfs(ints){if(sn){num++;//搜到n+1个点,也就是走完了return;}for(inti=1;i=m;i++){color[s]=i;//把颜色存下来if(check(s)==true){dfs(s+1);}else{color[s]=0;//如果冲突则重新打回0}}}intmain(){cinnkm;for(inti=1;i=k;i++){intx,y;cinxy;f[x][y]=true;f[y][x]=true;}memset(color,0,sizeof(color));dfs(1);coutnumendl;return0;}

像科学家一样思考像工程师一样解决问题

文档评论(0)

qwere111119 + 关注
实名认证
内容提供者

音乐

1亿VIP精品文档

相关文档