C. Not Assigning
题意:给出n个节点,n-1条路经,给每条路径赋上初值(这里的值必须为素数),使得每两条路径权值之和为素数,且对于每条路径,每个节点只能访问一次(即判断是否为线性结构)。
分析:找头节点,依次赋值,根据路径输出答案。

#include <bits/stdc++.h>
//dfs 大法师
#define ll long long
using namespace std;
const int mod=20100403;
const int Inf=0x3f3f3f3f;
inline int read()
{int x=0,f=1;char ch=getchar();while (!isdigit(ch)){if (ch=='-') f=-1;ch=getchar();}while (isdigit(ch)){x=x*10+ch-48;ch=getchar();}return x*f;
}
int m1[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int m2[]={0,31,29,31,30,31,30,31,31,30,31,30,31};
void Get_Time()
{time_t timep;time(&timep); //获取从1970至今过了多少秒,存入time_t类型的timepprintf("%s", ctime(&timep));//用ctime将秒数转化成字符串格式,输出:Thu Feb 28 14:14:17 2019
}
vector<pair<int,int> >v[200005];
int ans[200005];
int d;
void dfs(int i,int j,int k)
{for(int a=0;a<v[i].size();a++){if(v[i][a].first!=j){ans[v[i][a].second]=k;if(k==2)dfs(v[i][a].first,i,k+1);else if(k==3)dfs(v[i][a].first,i,k-1);}}
}
void solve()
{int t;cin>>t;while(t--){int n;cin>>n;int i,j;memset(ans,0,sizeof(ans));d=0;for(int a=1;a<n+1;a++)v[a].clear();for(int a=1;a<=n-1;a++){cin>>i>>j;v[i].push_back(make_pair(j,a));v[j].push_back(make_pair(i,a));}int flag=0;int k;for(int a=1;a<=n;a++)if(v[a].size()>2)flag=1;else if(v[a].size()==1)k=a;if(flag==1)cout<<-1<<endl;else{dfs(k,0,2);for(int a=1;a<=n-1;a++)cout<<ans[a]<<" ";cout<<endl;}}}
signed main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);//clock_t st,en;//st=clock();//Get_Time();solve();//en=clock();//cout<<(double)(en-st)/CLOCKS_PER_SEC<<endl;return 0;
}

Codeforces Round #766 (Div. 2)C. Not Assigning相关推荐

  1. Codeforces Round #766 (Div. 2) D. Not Adding 数学gcd

    传送门 文章目录 目录 题意: 思路: 目录 题意: 给你一个长度为nnn的数组,你每次可以选择其中的两个数,如果他们的gcdgcdgcd在数组中没有出现那么就可以加在数组后面构成一个新的数组,问数组 ...

  2. Codeforces Round #766 (Div. 2) B. Not Sitting

    题目大意: 拉胡尔和蒂娜期待着在大学开始新的一年.当他们进入新教室时,他们观察到学生的座位排列成一个 n×m 的网格. r 行 c 列的座位用 (r,c) 表示,两个座位 (a,b) 和 (c,d)  ...

  3. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

  4. Codeforces Round #563 (Div. 2)/CF1174

    Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要\(\sum\limits_{i=1}^n a_i ...

  5. 构造 Codeforces Round #302 (Div. 2) B Sea and Islands

    题目传送门 1 /* 2 题意:在n^n的海洋里是否有k块陆地 3 构造算法:按奇偶性来判断,k小于等于所有点数的一半,交叉输出L/S 4 输出完k个L后,之后全部输出S:) 5 5 10 的例子可以 ...

  6. Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解(每日训练 Day.16 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解 比赛链接:h ...

  7. Codeforces Round #712 Div.2(A ~ F) 超高质量题解(每日训练 Day.15 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #712 Div.2(A ~ F) 题解 比赛链接:https:// ...

  8. Codeforces Round #701 (Div. 2) A ~ F ,6题全,超高质量良心题解【每日亿题】2021/2/13

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Add and Divide B - Replace and Keep Sorted C ...

  9. Codeforces Round #700 (Div. 2) D2 Painting the Array II(最通俗易懂的贪心策略讲解)看不懂来打我 ~

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 整场比赛的A ~ E 6题全,全部题目超高质量题解链接: Codeforces Round #700 ...

最新文章

  1. 详细的聊聊接口性能优化的11个小技巧 不收藏对不起我
  2. W10中给文件夹添加备注或者注释
  3. JQuery:实现列表展开和缩放
  4. 关于文件操作的\r\n问题。
  5. 手机浏览器网址_「效率集」自定义网址导航高级功能介绍
  6. ML《决策树(二)C4.5》
  7. modelsim10.1a安装破解说明
  8. 两个getchar,一个getchar,getch的不同点 出现的不同情况
  9. 原价19万的美系插混,2年后落地只要11万~15万,微蓝6 PHEV为啥这么惨
  10. 离上市又近一步!华为P40系列在工信部入网......
  11. Bailian1193 内存分配【数据结构】
  12. qt 右键显示设置界面 后台运行_1.1安装Qt
  13. 从零基础入门Tensorflow2.0 ----四、15.tf.data读取csv文件并与tf.keras结合使用
  14. YACC (Yet Another Compiler Compiler)
  15. Android 开机logo支持的格式
  16. Win10电脑不能读取U盘怎么办?不识别U盘怎么解决?
  17. 有趣的概率:三门问题
  18. Android开发艺术探索——第七章:Android动画深入分析
  19. Edittext不自动获取焦点的方法
  20. vagrant快速创建三台虚拟机

热门文章

  1. 定制LK阶段开机LOGO
  2. python 妹子图抓取
  3. 转载 GIS地图知识
  4. Cardinality Estimation
  5. Linux-系统管理16-磁盘配额
  6. 软工视频到底在讲什么?
  7. sina 股票接口 2022.1.21 更新
  8. 安装 deepin系统 实现windows和deepin双系统
  9. 使用华为nexus6p进行拍并照裁剪图片和从相册裁剪图片
  10. BFD1从北京顺义新国展到酒仙桥特斯拉办公室