【51Nod算法马拉松18 A】染色问题
来源:互联网 发布:淘宝销售宣传标语 编辑:程序博客网 时间:2024/06/04 19:08
Description
一个n(3<=n<=100)个点的完全图,现在给出n,要求将每条边都染上一种颜色k(1<=k<=n),最终使得所有三个点构成的环(C(n,3)个不同的换)上三条边的颜色和在所有颜色中任选三种颜色的组合(C(n,3)种方案)一一对应,由你来给出染色方案。
本题有多组数据
Solution
看到这题一脸懵逼,看了好久都没看懂。
问了一下懂了的人,然后在第一个点有一个n=5的数据。
发现其构造很有规律。
打了一下,A了。
i连向j的颜色为(i+j-2)%n,如果前面的=0那么输出n。
首先如果n为偶数那么肯定是NO SOLUTION,因为一共有
所以要求
那么现在用数学归纳法就可以证明结论,一个三元组的点通过变换就能变成一个三元组的颜色。
Code
#include<iostream> #include<cstdio>#include<cmath>#include<algorithm>#include<cstring>#define fo(i,a,b) for(i=a;i<=b;i++)using namespace std;int i,j,k,l,t,n,m,ans,cas;int a[107][107];int main(){ for(scanf("%d",&cas);cas;cas--){ scanf("%d",&n); printf("%d\n",n); if(n%2==0) printf("No solution\n"); else{ memset(a,0,sizeof(a)); fo(i,1,n){ fo(j,i+1,n){ k=(i-1+j-1)%n;if(!k)k=n; printf("%d %d %d ",i,j,k); } } printf("\n"); } }}
2 0
- 【51Nod算法马拉松18 A】染色问题
- 算法马拉松18-A-染色问题
- 51nod 算法马拉松19 A P1674
- [51nod]算法马拉松18 总结
- 51nod算法马拉松18总结
- 51nod 算法马拉松3 A:序列分解
- 51nod 算法马拉松11 A 翻硬币
- 【51nod 算法马拉松19 A】区间的价值 V2
- [状态压缩||折半搜索]51nod 算法马拉松3 A
- 51nod 算法马拉松12
- 51nod算法马拉松20
- 51Nod 算法马拉松23
- 51Nod 算法马拉松24
- 51nod算法马拉松25
- 51NOD算法马拉松 最大值问题 离线预处理+set lower_bound
- 51nod 1394 差和问题(算法马拉松8)
- 矩阵模板 51nod 算法马拉松分解问题
- 【51Nod算法马拉松18 B】非010串
- 函数调用过程(详解)
- 十六进制转十进制
- WTL Hello World
- java运行jar类、scala运行jar类
- PHP关于金额数值的处理,number_format()与round()的使用
- 【51Nod算法马拉松18 A】染色问题
- java基础学习总结--操作符
- AFNetworking 3.0 源码解析之Reachability
- Xcode8上传应用包成功后,iTunes里不显示构建版本
- 移动端WebApp自适应实践
- 电路交换、报文交换和分组交换
- 将binaryproto文件转换为npy文件 代码
- 关于activity的直接传递数据【A向B传递数据】
- 【51Nod算法马拉松18 B】非010串